字符串函数
1.puts函数——输出字符串函数
其一般形式为:puts(字符数组)
其作用是将一个字符串(以'\0'结束的字符序列)输出到终端。
2.gets函数——输入字符串函数
其一般形式为:gets(字符数组)
其作用是从终端输入一个字符串到字符数组,并得到一个函数值。该函数值是字符数组的起始地址。
如执行下面的函数:
gets(str);
若从键盘中输入 Computer
将输入的字符串"Computer"送给字符数组str(注意:送给数组的共有9个字符,C系统在用字符数组存储字符串常量时会自动加一个'\0'作为结束符),返回的函数值是字符数组str的第一个元素的地址。
注意:用puts和gets函数只能输出或输入一个字符串。
3.strcat函数——字符串连接函数
其一般形式为:strcat(字符数组1,字符数组2)
strcat是STRing CATenate(字符串连接的缩写)。作用是把两个字符数组中的字符串连接起来,把字符串2连接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值,该函数值是字符数组1的地址。
连接前两个字符串的后面都有'\0',连接时将字符串1后面的'\0'取消,只在新串最后保留'\0'。
注意:字符数组1必须足够大,以便容纳连接后的新字符数组。
4.strcpy和strncpy函数——字符串复制函数
strcpy函数
其一般形式为:strcpy(字符数组1,字符串2)
strcpy是STRingCOPY(字符串复制)的缩写,作用是将字符串2复制到字符数组1中去。
当使用 strcpy
函数将 arr2
中的字符串 "abc"
复制到 arr1
,并且 arr1
原来的字符串为 "Company"
时,arr1
的内容将被完全替换为 "abc"
。这是因为 strcpy
函数会将 arr2
中的内容从第一个字符开始复制到 arr1
中,直到遇到 arr2
的 null 终止符 '\0'
。它不会考虑 arr1
中原有的内容。
注意:
(1)字符数组1必须定义的足够大,以便容纳被复制的字符串2。字符数组1的长度不应小于字符串2的长度。
(2)"字符数组1"必须写成数组名形式(如str1
),"字符串2"可以是字符数组名,也可以是一个字符串常量(如strcpy(str1,"abc")
)。
strncpy函数
其一般形式为:strncpy(字符数组1,字符串2,n)
可以用strncpy函数将字符串2中的前n个字符复制到字符数组1中去。
如:strncpy(str1,str2,2);
作用是将str2中最前面的2个字符复制到str1中,取代str1中原有的最前面2个字符。但复制的字符个数n不能多于str1中原有的字符(不包括'\0')。
5.strcmp函数——字符串比较函数
其一般形式为:strcmp(字符串1,字符串2)
strcmp是STRing CoMPare(字符串比较)的缩写。它的作用是比较字符串1和字符串2。
字符串比较的规则:
将两个字符串自左至右逐个字符比较(按ASCII码值比较),直到出现不同的字符或遇到'\0'为止。
如全部字符相同,则认为两个字符串相等;
若出现不相同的字符,则以第1对不相同的字符的比较结果为准
比较的结果由函数值带回。
如果字符串1与字符串2相同,则函数值为0。
如果字符串1>字符串2,则函数值为一个正整数。
如果字符串1<字符串2,则函数值为一个负整数。
6.strlen函数——测字符串长度函数
其一般形式为:strlen(字符数组)
strlen是STRing LENgth(字符串长度)的缩写。它是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括\0'在内)。
7.strlwr函数——转换为小写的函数
其一般形式为:strlwr(字符串)
作用:将字符串中的大写字母转换为小写字母
8.strupr函数——转换为大写的函数
其一般形式为:strupr(字符串)
作用:将字符串中的小写字母转换为大写字母
头文件
注意:在使用字符串处理函数时,应当在程序文件的开头用#include <string.h>
把string.h文件包含到本文件中。