这是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
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
因为通常memset函数都被做过优化,所以填充的效率最高,比使用for语句一个字节一个字节的写要好多了。如:
memset(buf , 0 , 100);
在效果上相当于:
for(int i = 0 ; i < 100 ; i++)
((char*)buf)[i] = 0;
但效率上前者好一些。
将ch的底字节复制到buf所指向的数组的前count 个字符中,返回buf
另外那个memory.h主要提供些什么功能啊!
例如
//声明一个指针
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;
}