基础知识
字符串处理函数
包含在头文件 string.h 中
字符串输出函数 puts
格式: puts(字符数组)
功能:向显示器输出一个字符串(输出完,换行)
说明:字符数组必须以‘\0’结束。可以包含转义字符。
输出时‘\0’转换成‘\n’,即输出字符后换行。
字符串输入函数gets
格式:gets (字符数组)
功能:从键盘输入一个以回车结束的字符串放入字符数组中,并自动加‘\0’。
说明:输入串长度应小于字符数组维数
字符串连接函数strcat
格式:strcat (字符数组1,字符数组2)
功能:把字符数组2连到字符数组1后面
返值:返回字符数组1的首地址
说明:字符数组1必须足够大
连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消,新串最后加‘\0’。
字符串拷贝函数strcpy
格式:strcpy(字符数组1,字符串2)
功能:将字符串2,拷贝到字符数组1中去
返值:返回字符数组1的首地址
说明:字符数组1必须足够大,>字符串2
字符数组1必须是数组名形式(str1),字符串 2可以是字符数组名或字符串常量。
拷贝时‘\0’一同拷贝
④不能使用赋值语句为一个字符数组赋值
⑤可以只复制字符串2中的前几个字符,来取代字符数组1的前几个字符。
strcpy(str1,str2,2) —— 复制前2个。
字符串比较函数strcmp
格式:strcmp(字符串1,字符串2)
功能:比较两个字符串
比较规则:对两串从左向右逐个字符比较(ASCII码),直到遇到不同字符或‘\0’为止。
返回值:返回int型整数。其值是ASCII码的差值
a. 若字符串1< 字符串2, 返回负整数
b. 若字符串1> 字符串2, 返回正整数
c. 若字符串1== 字符串2, 返回零
说明:字符串比较不能用“==”,必须用strcmp,虽然编译无错,但结果不对 。
字符串长度函数strlen
格式:strlen(字符数组)
功能:计算字符串长度
返值:返回字符串实际长度,不包括‘\0’在内
例 对于以下字符串,strlen(s)的值为:
(1)char s[10]={‘A’,‘\0’,‘B’,‘C’,‘\0’,‘D’};
(2)char s[ ]=“\t\v\\0will\n”;
(3)char s[ ]=“\x69\082\n”;
大写字母转换成小写字母函数strlwr
格式:strlwr(字符串)
小写字母转换成大写字母函数strupr
格式:strupr(字符串)
#include <stdio.h> #include <string.h> int main() { char a1[6] = "CHinA", a2[] = "wuHAn"; printf("%s\n", strlwr(a1)); printf("%s\n", strupr(a2)); return 0; }
结果: