C语言中提供了很多字符串处理的函数,熟练运用这些函数,可以减少编程工作量,在这里我们介绍几种常见的字符串函数。
一、strlen函数(求字符串长度函数)
头文件:string.h
函数原型:size_t strlen(const char *s)
功能:求字符串的长度(不含字符串结束标志 ‘\0’)
参数:s为字符串
返回值:返回字符串的长度(不含字符串结束标志 ‘\0’)
eg.
在上述示例中,可以看到strlen函数的功能,输出的字符串长度为:5,而引出的sizeof去输出这个字符串的长度为6,定义的字符串实际长度为abcde即5个,这说明sizeof在计算长度时会计算实际长度,而sizeof在计算长度时会加上‘\0’的长度,即6个,这也就体现了sizeof和strlen的区别;
二、strcmp函数(字符串比较函数)
头文件:string.h
函数原型:int strcmp(const char *s1,const char *s2)
功能:按照ACSII码顺序比较字符串s1和字符串s2的大小
参数:s1,s2为字符串起始地址
返回值:比较结果
字符串1=字符串2,返回值=0;
字符串1>字符串2,返回值>0;
字符串1<字符串2,返回值<0;
eg:
可以看出,str1我们给的字符串是 abc,str2我们给的字符串是ab,在输出之后比较两个字符串的大小时,输出的值为99,即str1比str2多出来(大) 的值,对应的就是ASCII值得c的值为99,这就体现出strcmp函数的功能了
三、strcat函数(字符串连接函数)
头文件:string.h
函数原型:char *strcat(char *dest,const char *src)
功能:把字符串src的连接到字符串dest的后面
参数:src为源串的起始地址,dest为目标串起始地址
返回值:目标串的起始地址
eg:
从示例可以看出, strcat的功能是把第二个字符串加到第一个字符串后面,如示例所示,将world这个字符串加到了hello后面,产生一个新的字符串helloworld
四、strcmpy函数(字符串拷贝函数)
头文件:string.h
函数原型:char *strcpy(char *dest ,const char *src)
功能:字符串拷贝
参数:src为源串的起始地址,dest为目标串的起始地址
返回值:目标串的起始地址
eg:
如示例所示,我们给的第一个字符串为hello,第二个字符串为world,在使用strcpy函数后输出的结果为world,即把src字符串的内容拷贝到dest字符串中。