C语言知识储备.docx

上传人:b****5 文档编号:8299016 上传时间:2023-01-30 格式:DOCX 页数:41 大小:28.46KB
下载 相关 举报
C语言知识储备.docx_第1页
第1页 / 共41页
C语言知识储备.docx_第2页
第2页 / 共41页
C语言知识储备.docx_第3页
第3页 / 共41页
C语言知识储备.docx_第4页
第4页 / 共41页
C语言知识储备.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C语言知识储备.docx

《C语言知识储备.docx》由会员分享,可在线阅读,更多相关《C语言知识储备.docx(41页珍藏版)》请在冰豆网上搜索。

C语言知识储备.docx

C语言知识储备

数名:

memset

功能:

设置s中的所有字节为ch,s数组的大小由n给定

用法:

void*memset(void*s,charch,unsignedn);

程序例:

#include

#include

#include

intmain(void)

{

charbuffer[]="Helloworld\n";

printf("Bufferbeforememset:

%s\n",buffer);  //打印数组字符

memset(buffer,'*',strlen(buffer)-1);

printf("Bufferaftermemset:

%s\n",buffer);

return0;

}  

====================================

memset的用法

将已开辟内存空间s的首n个字节的值设为值c

下面是一个例子

#include

#include

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就只能拷贝字符串了,它遇到'\0'就结束拷贝;例:

chara[100],b[50];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

当s1=s2时,返回值=0

当s1>s2时,返回值>0

举例:

//strnicmp.c

#include

#include

main()

{

char*s1="Hello,Programmers!

";

char*s2="Hello,programmers!

";

intr;

clrscr();

r=strnicmp(s1,s2,strlen(s1));

if(!

r)

printf("s1ands2areidentical");

else

if(r<0)

printf("s1lessthans2");

else

printf("s1greaterthans2");

getchar();

return0;

}

bcmp

原型:

externintbcmp(constvoid*s1,constvoid*s2,intn);

用法:

#include

功能:

比较字符串s1和s2的前n个字节是否相等

说明:

如果s1=s2或n=0则返回零,否则返回非零值。

bcmp不检查NULL。

举例:

//bcmp.c

#include

#include

main()

{

char*s1="GoldenGlobalView";

char*s2="Goldenglobalview";;

clrscr();//clearscreen

if(!

bcmp(s1,s2,7))

printf("s1equaltos2infirst7bytes");

else

printf("s1notequaltos2infirst7bytes");

getchar();

clrscr();

if(!

bcmp(s1,s2,12))

printf("s1equaltos2infirst12bytes");

else

printf("s1notequaltos2infirst12bytes");

getchar();

return0;

}

bcopy

原型:

externvoidbcopy(constvoid*src,void*dest,intn);

用法:

#include

功能:

将字符串src的前n个字节复制到dest中

说明:

bcopy不检查字符串中的空字节NULL,函数没有返回值。

举例:

//bcopy.c

#include

#include

main()

{

char*s="GoldenGlobalView";

chard[20];

clrscr();//clearscreen

bcopy(s,d,6);

printf("s:

%s\n",s);

printf("d:

%s\n",d);

getchar();

clrscr();

s[13]=0;

bcopy(s+7,d,11);//bcopyignorenullinstring

printf("%s\n",s+7);

for(i=0;i<11;i++)

putchar(d[i]);

getchar();

return0;

}

bzero

原型:

externvoidbzero(void*s,intn);

用法:

#include

功能:

置字节字符串s的前n个字节为零。

说明:

bzero无返回值。

举例:

//bzero.c

#include

#include

main()

{

struct

{

inta;

chars[5];

floatf;

}tt;

chars[20];

bzero(&tt,sizeof(tt));//structinitializationtozero

bzero(s,20);

clrscr();

printf("InitailSuccess");

getchar();

return0;

}

memccpy

原型:

externvoid*memccpy(void*dest,void*src,unsignedcharch,unsignedintcount);

用法:

#include

功能:

由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。

说明:

返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。

ch被复制。

举例:

//memccpy.c

#include

#include

main()

{

char*s="GoldenGlobalView";

chard[20],*p;

clrscr();

p=memccpy(d,s,'x',strlen(s));

if(p)

{

*p='\0';//MUSTDoThis

printf("Charfound:

%s.\n",d);

}

else

printf("Charnotfound.\n");

 

getchar();

return0;

}

memchr

原型:

externvoid*memchr(void*buf,charch,unsignedcount);

用法:

#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("NotFound!

");

getchar();

return0;

}

memcmp

原型:

externintmemcmp(void*buf1,void*buf2,unsignedintcount);

用法:

#include

功能:

比较内存区域buf1和buf2的前count个字节。

说明:

当buf1

当buf1=buf2时,返回值=0

当buf1>buf2时,返回值>0

举例:

//memcmp.c

#include

#include

main()

{

char*s1="Hello,Programmers!

";

char*s2="Hello,programmers!

";

intr;

clrscr();

r=memcmp(s1,s2,strlen(s1));

if(!

r)

printf("s1ands2areidentical");

else

if(r<0)

printf("s1lessthans2");

else

printf("s1greaterthans2");

getchar();

return0;

}

memcpy

原型:

externvoid*memcpy(void*dest,void*src,unsignedintcount);

用法:

#include

功能:

由src所指内存区域复制count个字节到dest所指内存区域。

说明:

src和dest所指内存区域不能重叠,函数返回指向dest的指针。

举例:

//memcpy.c

#include

#include

main()

{

char*s="GoldenGlobalView";

chard[20];

clrscr();

memcpy(d,s,strlen(s));

d[strlen(s)]=0;

printf("%s",d);

getchar();

return0;

}

memicmp

原型:

externintmemicmp(void*buf1,void*buf2,unsignedintcount);

用法:

#include

功能:

比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。

说明:

memicmp同memcmp的唯一区别是memicmp不区分大小写字母。

当buf1

当buf1=buf2时,返回值=0

当buf1>buf2时,返回值>0

举例:

//memicmp.c

#include

#include

main()

{

char*s1="Hello,Programmers!

";

char*s2="Hello,programmers!

";

intr;

clrscr();

r=memicmp(s1,s2,strlen(s1));

if(!

r)

printf("s1ands2areidentical");

else

if(r<0)

printf("s1lessthans2");

else

printf("s1greaterthans2");

getchar();

return0;

}

memmove

原型:

externvoid*memmove(void*dest,constvoid*src,unsignedintcount);

用法:

#include

功能:

由src所指内存区域复制count个字节到dest所指内存区域。

说明:

src和dest所指内存区域可以重叠,但复制后src内容会被更改。

函数返回指向dest的指针。

举例:

 

//memmove.c

#include

#include

main()

{

char*s="GoldenGlobalView";

clrscr();

memmove(s,s+7,strlen(s)-7);

s[strlen(s)-7]=0;

printf("%s",s);

getchar();

return0;

}

movmem

原型:

externvoidmovmem(void*src,void*dest,unsignedintcount);

用法:

#include

功能:

由src所指内存区域复制count个字节到dest所指内存区域。

说明:

src和dest所指内存区域可以重叠,但复制后src内容会被更改。

函数返回指向dest的指针。

举例:

 

//movmem.c

#include

#include

main()

{

char*s="GoldenGlobalView";

clrscr();

movmem(s,s+7,strlen(s)-7);

s[strlen(s)-7]=0;

printf("%s",s);

getchar();

return0;

}

setmem

原型:

externvoidsetmem(void*buf,unsignedintcount,charch);

用法:

#include

功能:

把buf所指内存区域前count个字节设置成字符ch。

说明:

返回指向buf的指针。

举例:

 

//setmem.c

#include

#include

main()

{

char*s="GoldenGlobalView";

clrscr();

setmem(s,6,'G');

printf("%s",s);

getchar();

return0;

}

stpcpy

原型:

externchar*stpcpy(char*dest,char*src);

用法:

#include

功能:

把src所指由NULL结束的字符串复制到dest所指的数组中。

说明:

src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest结尾处字符(NULL)的指针。

举例:

 

//stpcpy.c

#include

#include

main()

{

char*s="GoldenGlobalView";

chard[20];

clrscr();

stpcpy(d,s);

printf("%s",d);

getchar();

return0;

}

strchr

原型:

externchar*strchr(char*s,charc);

用法:

#include

功能:

查找字符串s中首次出现字符c的位置

说明:

返回首次出现c的位置的指针,如果s中不存在c则返回NULL。

举例:

 

//strchr.c

#include

#include

main()

{

char*s="GoldenGlobalView";

char*p;

clrscr();

strchr(s,'V');

if(p)

printf("%s",p);

else

printf("NotFound!

");

getchar();

return0;

}

strcmp

原型:

externintstrcmp(char*s1,char*s2);

用法:

#include

功能:

比较字符串s1和s2。

说明:

当s1

当s1=s2时,返回值=0

当s1>s2时,返回值>0

stricmp,strcmpi

原型:

externintstricmp(char*s1,char*s2);

用法:

#include

功能:

比较字符串s1和s2,但不区分字母的大小写。

说明:

strcmpi是到stricmp的宏定义,实际未提供此函数。

当s1

当s1=s2时,返回值=0

当s1>s2时,返回值>0

举例:

//stricmp.c

#include

#include

main()

{

char*s1="Hello,Programmers!

";

char*s2="Hello,programmers!

";

intr;

clrscr();

r=stricmp(s1,s2);

if(!

r)

printf("s1ands2areidentical");

else

if(r<0)

printf("s1lessthans2");

else

printf("s1greaterthans2");

getchar();

return0;

}

strlwr

原型:

externchar*strlwr(char*s);

用法:

#include

功能:

将字符串s转换为小写形式

说明:

只转换s中出现的大写字母,不改变其它字符。

返回指向s的指针。

举例:

 

//strlwr.c

#include

#include

main()

{

char*s="Copywrite1999-2000GGVTechnologies";

clrscr();

printf("%s",strlwr(s));

getchar();

return0;

}

strncat

原型:

externchar*strncat(char*dest,char*src,intn);

用法:

#include

功能:

把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

说明:

src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针。

举例:

 

//strncat.c

#include

#include

main()

{

chard[20]="GoldenGlobal";

char*s="ViewWinIDELibrary";

clrscr();

strncat(d,s,5);

printf("%s",d);

getchar();

return0;

}

strncmp

原型:

externintstrcmp(char*s1,char*s2,intn);

用法:

#include

功能:

比较字符串s1和s2的前n个字符。

说明:

当s1

当s1=s2时,返回值=0

当s1>s2时,返回值>0

举例:

//strncmp.c

#include

#include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1