1、C语言知识储备数名: memset 功 能: 设置s中的所有字节为ch, s数组的大小由n给定 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include #include #include int main(void) char buffer = Hello worldn; printf(Buffer before memset: %sn, buffer); /打印数组字符memset(buffer, *, strlen(buffer) - 1); printf(Buffer after memset: %sn, buffer
2、); return 0; =memset的用法将已开辟内存空间 s 的首 n 个字节的值设为值 c 下面是一个例子 i nclude i nclude main() char *s=Golden Global View; clrscr(); memset(s,G,6); printf(%s,s); getchar(); return 0; memset() 函数常用于内存空间初始化。如: char str100; memset(str,0,100); memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为 或0;例:char a100;memset(a, 0, s
3、izeof(a); memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a100,b50; memcpy(b, a, sizeof(b);注意如用sizeof(a),会造成b的内存地址溢出。 strcpy就只能拷贝字符串了,它遇到0就结束拷贝;例:char a100,b50;strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个0之前)是否超过50位,如超过,则会造成b的内存地址溢出。strnicmp,strncmpi 原型:extern int strnicmp(char *s1,char * s2,int n);
4、用法:#include 功能:比较字符串s1和s2的前n个字符但不区分大小写。 说明:strncmpi是到strnicmp的宏定义 当s1s2时,返回值s2时,返回值0 举例: / strnicmp.c #include #include main() char *s1=Hello, Programmers!; char *s2=Hello, programmers!; int r; clrscr(); r=strnicmp(s1,s2,strlen(s1); if(!r) printf(s1 and s2 are identical); else if(r0) printf(s1 less
5、than s2); else printf(s1 greater than s2); getchar(); return 0; bcmp 原型:extern int bcmp(const void *s1, const void *s2, int n); 用法:#include 功能:比较字符串s1和s2的前n个字节是否相等 说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。 举例: / bcmp.c #include #include main() char *s1=Golden Global View; char *s2=Golden global view;
6、clrscr(); / clear screen if(!bcmp(s1,s2,7) printf(s1 equal to s2 in first 7 bytes); else printf(s1 not equal to s2 in first 7 bytes); getchar(); clrscr(); if(!bcmp(s1,s2,12) printf(s1 equal to s2 in first 12 bytes); else printf(s1 not equal to s2 in first 12 bytes); getchar(); return 0; bcopy 原型:ext
7、ern void bcopy(const void *src, void *dest, int n); 用法:#include 功能:将字符串src的前n个字节复制到dest中 说明:bcopy不检查字符串中的空字节NULL,函数没有返回值。 举例: / bcopy.c #include #include main() char *s=Golden Global View; char d20; clrscr(); / clear screen bcopy(s,d,6); printf(s: %sn,s); printf(d: %sn,d); getchar(); clrscr(); s13=0
8、; bcopy(s+7,d,11); / bcopy ignore null in string printf(%sn,s+7); for(i=0;i11;i+) putchar(di); getchar(); return 0; bzero 原型:extern void bzero(void *s, int n); 用法:#include 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。 举例: / bzero.c #include #include main() struct int a; char s5; float f; tt; char s20; bzero(&tt
9、,sizeof(tt); / struct initialization to zero bzero(s,20); clrscr(); printf(Initail Success); getchar(); return 0; memccpy 原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count); 用法:#include 功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。 说明:返回指向字符ch后的第一个字符的指针,如果src
10、前n个字节中不存在ch则返回NULL。ch被复制。 举例: / memccpy.c #include #include main() char *s=Golden Global View; char d20,*p; clrscr(); p=memccpy(d,s,x,strlen(s); if(p) *p=0; / MUST Do This printf(Char found: %s.n,d); else printf(Char not found.n); getchar(); return 0; memchr 原型:extern void *memchr(void *buf, char ch
11、, unsigned count); 用法:#include 功能:从buf所指内存区域的前count个字节查找字符ch。 说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。 举例: / memchr.c #include #include main() char *s=Hello, Programmers!; char *p; clrscr(); p=memchr(s,P,strlen(s); if(p) printf(%s,p); else printf(Not Found!); getchar(); return 0; memcmp 原型:exte
12、rn int memcmp(void *buf1, void *buf2, unsigned int count); 用法:#include 功能:比较内存区域buf1和buf2的前count个字节。 说明: 当buf1buf2时,返回值buf2时,返回值0 举例: / memcmp.c #include #include main() char *s1=Hello, Programmers!; char *s2=Hello, programmers!; int r; clrscr(); r=memcmp(s1,s2,strlen(s1); if(!r) printf(s1 and s2 ar
13、e identical); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; memcpy 原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:#include 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 举例: / memcpy.c #include #include mai
14、n() char *s=Golden Global View; char d20; clrscr(); memcpy(d,s,strlen(s); dstrlen(s)=0; printf(%s,d); getchar(); return 0; memicmp 原型:extern int memicmp(void *buf1, void *buf2, unsigned int count); 用法:#include 功能:比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。 说明:memicmp同memcmp的唯一区别是memicmp不区分大小写字母。 当buf1buf2时
15、,返回值buf2时,返回值0 举例: / memicmp.c #include #include main() char *s1=Hello, Programmers!; char *s2=Hello, programmers!; int r; clrscr(); r=memicmp(s1,s2,strlen(s1); if(!r) printf(s1 and s2 are identical); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; memmove
16、原型:extern void *memmove(void *dest, const void *src, unsigned int count); 用法:#include 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。 举例: / memmove.c #include #include main() char *s=Golden Global View; clrscr(); memmove(s,s+7,strlen(s)-7); sstrlen(s)-7=0; prin
17、tf(%s,s); getchar(); return 0; movmem 原型:extern void movmem(void *src, void *dest, unsigned int count); 用法:#include 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。 举例: / movmem.c #include #include main() char *s=Golden Global View; clrscr(); movmem(s,s+7,strlen
18、(s)-7); sstrlen(s)-7=0; printf(%s,s); getchar(); return 0; setmem 原型:extern void setmem(void *buf, unsigned int count, char ch); 用法:#include 功能:把buf所指内存区域前count个字节设置成字符ch。 说明:返回指向buf的指针。 举例: / setmem.c #include #include main() char *s=Golden Global View; clrscr(); setmem(s,6,G); printf(%s,s); getcha
19、r(); return 0; stpcpy 原型:extern char *stpcpy(char *dest,char *src); 用法:#include 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest结尾处字符(NULL)的指针。 举例: / stpcpy.c #include #include main() char *s=Golden Global View; char d20; clrscr(); stpcpy(d,s); printf(%s,d);
20、 getchar(); return 0; strchr 原型:extern char *strchr(char *s,char c); 用法:#include 功能:查找字符串s中首次出现字符c的位置 说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。 举例: / strchr.c #include #include main() char *s=Golden Global View; char *p; clrscr(); strchr(s,V); if(p) printf(%s,p); else printf(Not Found!); getchar(); return 0
21、; strcmp 原型:extern int strcmp(char *s1,char * s2); 用法:#include 功能:比较字符串s1和s2。 说明: 当s1s2时,返回值s2时,返回值0stricmp,strcmpi 原型:extern int stricmp(char *s1,char * s2); 用法:#include 功能:比较字符串s1和s2,但不区分字母的大小写。 说明:strcmpi是到stricmp的宏定义,实际未提供此函数。 当s1s2时,返回值s2时,返回值0 举例: / stricmp.c #include #include main() char *s1=
22、Hello, Programmers!; char *s2=Hello, programmers!; int r; clrscr(); r=stricmp(s1,s2); if(!r) printf(s1 and s2 are identical); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; strlwr 原型:extern char *strlwr(char *s); 用法:#include 功能:将字符串s转换为小写形式 说明:只转换s中出现的大写字母
23、,不改变其它字符。返回指向s的指针。 举例: / strlwr.c #include #include main() char *s=Copywrite 1999-2000 GGV Technologies; clrscr(); printf(%s,strlwr(s); getchar(); return 0; strncat 原型:extern char *strncat(char *dest,char *src,int n); 用法:#include 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的0)并添加0。 说明:src和dest所指内存区域不可以重叠且
24、dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 举例: / strncat.c #include #include main() char d20=Golden Global; char *s= View WinIDE Library; clrscr(); strncat(d,s,5); printf(%s,d); getchar(); return 0; strncmp 原型:extern int strcmp(char *s1,char * s2,int n); 用法:#include 功能:比较字符串s1和s2的前n个字符。 说明: 当s1s2时,返回值s2时,返回值0 举例: / strncmp.c #include #include
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1