有几个函数我是经常用到,但是老师分不清楚具体参数的含义,下面做个记录:
memset
extern void *memset(void *buffer, int c, int count);
将buffer区域的前count个字节设置成字符c
char *s="Golden Global View";
memset(s,'G',6);
memcpy
extern void *memcpy(void *dest, void *src, unsigned int count);
将src区域的前count个字节赋值到dest区域,src和dest所指内存区域不能重叠,函数返回指向dest的指针
char *s="Golden Global View";
char d[20];
memcpy(d,s,strlen(s));
memcmp
extern int memcmp(void *buf1, void *buf2, unsigned int count);
比较buf1区域以及buf2区域的前count个字节
当buf1<buf2时,返回值<0
当buf1=buf2时,返回值=0
当buf1>buf2时,返回值>0
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
r=memcmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");