同上!

解决方案 »

  1.   

    这是msdn的帮助,以后要多看msdnSets buffers to a specified character.
    void *memset( void *dest, int c, size_t count );Example/* MEMSET.C: This program uses memset to
     * set the first four bytes of buffer to "*".
     */#include <memory.h>
    #include <stdio.h>void main( void )
    {
       char buffer[] = "This is a test of the memset function";   printf( "Before: %s\n", buffer );
       memset( buffer, '*', 4 );
       printf( "After:  %s\n", buffer );
    }
    OutputBefore: This is a test of the memset function
    After:  **** is a test of the memset function
      

  2.   

    使用同一个值,填充一块内存,常用来把一块内存区域清零。
    因为通常memset函数都被做过优化,所以填充的效率最高,比使用for语句一个字节一个字节的写要好多了。如:
    memset(buf , 0 , 100);
    在效果上相当于:
    for(int i = 0 ; i < 100 ; i++)
        ((char*)buf)[i] = 0;
    但效率上前者好一些。
      

  3.   

    void *memset( void *buf, int ch, size_t count );
    将ch的底字节复制到buf所指向的数组的前count 个字符中,返回buf
      

  4.   

    最后一个参数是不是都是从第一个字符开始计算的?
    另外那个memory.h主要提供些什么功能啊!
      

  5.   

    最后一个参数是从第一个字符开始计算的memory.h当然是提供内存访问功能了
      

  6.   

    将内存区域初始化为某个已知的值,常用来把一块内存区域清零。
    例如
    //声明一个指针
    char *pszTemp = NULL;
    //分配内存空间
    pszTemp = new char [100+1];
    if(pszTemp == NULL)
       return;
    //将内存区域初始化
    memset(pszTemp,0x00,100 +1);
    //实现代码
    memcpy(pszTemp, "sfasfafasfasfs",100);
    .......................
    ..................
    ....................
    ..............
    .........
    //内存清理
    if(pszTemp != NULL)
    {
       delete pszTemp;
       pszTemp = NULL;
    }