C语言知识储备Word文档格式.docx
- 文档编号:21435294
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:41
- 大小:28.46KB
C语言知识储备Word文档格式.docx
《C语言知识储备Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言知识储备Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
}
====================================
memset的用法
将已开辟内存空间s的首n个字节的值设为值c
下面是一个例子
#include<
stdio.h>
string.h>
main()
char*s="
GoldenGlobalView"
clrscr();
memset(s,'
G'
6);
printf("
%s"
s);
getchar();
return0;
}
memset()函数常用于内存空间初始化。
如:
charstr[100];
memset(str,0,100);
memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘’或‘\0’;
例:
chara[100];
memset(a,'
\0'
sizeof(a));
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;
例:
chara[100],b[50];
memcpy(b,a,sizeof(b));
注意如用sizeof(a),会造成b的内存地址溢出。
strcpy就只能拷贝字符串了,它遇到'
就结束拷贝;
strcpy(a,b);
如用strcpy(b,a),要注意a中的字符串长度(第一个‘\0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。
strnicmp,strncmpi
原型:
externintstrnicmp(char*s1,char*s2,intn);
用法:
#include<
功能:
比较字符串s1和s2的前n个字符但不区分大小写。
说明:
strncmpi是到strnicmp的宏定义
当s1<
s2时,返回值<
当s1=s2时,返回值=0
当s1>
s2时,返回值>
举例:
//strnicmp.c
#include<
syslib.h>
main()
{
char*s1="
Hello,Programmers!
"
char*s2="
Hello,programmers!
intr;
r=strnicmp(s1,s2,strlen(s1));
if(!
r)
s1ands2areidentical"
);
else
if(r<
0)
s1lessthans2"
s1greaterthans2"
}
bcmp
externintbcmp(constvoid*s1,constvoid*s2,intn);
比较字符串s1和s2的前n个字节是否相等
如果s1=s2或n=0则返回零,否则返回非零值。
bcmp不检查NULL。
//bcmp.c
Goldenglobalview"
//clearscreen
bcmp(s1,s2,7))
s1equaltos2infirst7bytes"
s1notequaltos2infirst7bytes"
bcmp(s1,s2,12))
s1equaltos2infirst12bytes"
s1notequaltos2infirst12bytes"
bcopy
externvoidbcopy(constvoid*src,void*dest,intn);
将字符串src的前n个字节复制到dest中
bcopy不检查字符串中的空字节NULL,函数没有返回值。
//bcopy.c
chard[20];
bcopy(s,d,6);
s:
d:
d);
s[13]=0;
bcopy(s+7,d,11);
//bcopyignorenullinstring
%s\n"
s+7);
for(i=0;
i<
11;
i++)
putchar(d[i]);
bzero
externvoidbzero(void*s,intn);
置字节字符串s的前n个字节为零。
bzero无返回值。
//bzero.c
struct
inta;
chars[5];
floatf;
}tt;
chars[20];
bzero(&
tt,sizeof(tt));
//structinitializationtozero
bzero(s,20);
InitailSuccess"
memccpy
externvoid*memccpy(void*dest,void*src,unsignedcharch,unsignedintcount);
由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。
返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。
ch被复制。
//memccpy.c
chard[20],*p;
p=memccpy(d,s,'
x'
strlen(s));
if(p)
*p='
//MUSTDoThis
Charfound:
%s.\n"
Charnotfound.\n"
memchr
externvoid*memchr(void*buf,charch,unsignedcount);
从buf所指内存区域的前count个字节查找字符ch。
当第一次遇到字符ch时停止查找。
如果成功,返回指向字符ch的指针;
否则返回NULL。
//memchr.c
char*p;
p=memchr(s,'
P'
p);
NotFound!
memcmp
externintmemcmp(void*buf1,void*buf2,unsignedintcount);
比较内存区域buf1和buf2的前count个字节。
当buf1<
buf2时,返回值<
当buf1=buf2时,返回值=0
当buf1>
buf2时,返回值>
//memcmp.c
r=memcmp(s1,s2,strlen(s1));
memcpy
externvoid*memcpy(void*dest,void*src,unsignedintcount);
由src所指内存区域复制count个字节到dest所指内存区域。
src和dest所指内存区域不能重叠,函数返回指向dest的指针。
//memcpy.c
memcpy(d,s,strlen(s));
d[strlen(s)]=0;
memicmp
externintmemicmp(void*buf1,void*buf2,unsignedintcount);
比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。
memicmp同memcmp的唯一区别是memicmp不区分大小写字母。
//memicmp.c
r=memicmp(s1,s2,strlen(s1));
memmove
externvoid*memmove(void*dest,constvoid*src,unsignedintcount);
src和dest所指内存区域可以重叠,但复制后src内容会被更改。
函数返回指向dest的指针。
//memmove.c
memmove(s,s+7,strlen(s)-7);
s[strlen(s)-7]=0;
movmem
externvoidmovmem(void*src,void*dest,unsignedintcount);
//movmem.c
movmem(s,s+7,strlen(s)-7);
setmem
externvoidsetmem(void*buf,unsignedintcount,charch);
把buf所指内存区域前count个字节设置成字符ch。
返回指向buf的指针。
//setmem.c
setmem(s,6,'
stpcpy
externchar*stpcpy(char*dest,char*src);
把src所指由NULL结束的字符串复制到dest所指的数组中。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest结尾处字符(NULL)的指针。
//stpcpy.c
stpcpy(d,s);
strchr
externchar*strchr(char*s,charc);
查找字符串s中首次出现字符c的位置
返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
//strchr.c
strchr(s,'
V'
strcmp
externintstrcmp(char*s1,char*s2);
比较字符串s1和s2。
stricmp,strcmpi
externintstricmp(char*s1,char*s2);
比较字符串s1和s2,但不区分字母的大小写。
strcmpi是到stricmp的宏定义,实际未提供此函数。
//stricmp.c
r=stricmp(s1,s2);
strlwr
externchar*strlwr(char*s);
将字符串s转换为小写形式
只转换s中出现的大写字母,不改变其它字符。
返回指向s的指针。
//strlwr.c
Copywrite1999-2000GGVTechnologies"
strlwr(s));
strncat
externchar*strncat(char*dest,char*src,intn);
把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'
)并添加'
。
返回指向dest的指针。
//strncat.c
chard[20]="
GoldenGlobal"
ViewWinIDELibrary"
strncat(d,s,5);
strncmp
externintstrcmp(char*s1,char*s2,intn);
比较字符串s1和s2的前n个字符。
//strncmp.c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 储备
![提示](https://static.bdocx.com/images/bang_tan.gif)