拉斯厄尔高福 2020-03-26
C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)
到参数 str 所指向的字符串的前 n 个字符。
声明
下面是 memset() 函数的声明。
void *memset(void *str, int c, size_t n)
参数
str -- 指向要填充的内存块。
c -- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
n -- 要被设置为该值的字节数。
例:char a[100];memset(a, ‘/0’, sizeof(a));
memset可以方便的清空一个结构类型的变量或数组。
struct sample_struct
{
char csName[16];
int iSeq ;
int iType ;
} ;
int main()
{
struct sample_struct stTest;
//一般的情况stTest方法:
/*
stTest.csName[0]=‘\0‘;
stTest.iSeq=0;
stTest.iType=0;*/
memset(&stTest,0,sizeof(stTest));
printf("%c%d%d",stTest.csName[0],stTest.iSeq,stTest.iType);
//如果是数组
/*
struct sample_struct TEST[10];
memset(TEST,0,sizeof(struct sample_struct)*10);*/
/*
char str[50];
strcpy(str,"This is String.h library function!");
puts(str);
memset(str,‘#‘,sizeof(char)*7);
puts(str);*/
}