1. strcat函数
一般形式:strcat(字符数组1,字符数组2)
作用:连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。
例如:
char str1[30]={″Hello ″};
char str2[]={″Word″};
printf(″%s″,strcat(str1,str2));
输出:
Hello Word
2. strcmp函数
一般形式:strcmp(字符串1,字符串2)
作用:比较字符串1和字符串2。
例如:strcmp(str1,str2);
strcmp(″China″,″Korea″);
strcmp(str1,″Beijing″);
(1)比较的结果由函数值带回
a,若字符串1=字符串2,函数值为0。
b,若字符串1>字符串2,函数值为正。
c,若字符串1<字符串2,函数值为负。
(2)对两个字符串比较:
a,错误形式:if(str1>str2)
printf(″yes″);
b,正确形式:if(strcmp(str1,str2)>0)
printf(″yes");
(3) 字符串是数组类型而非简单类型,不能用关系运算进行大小比较。
if("ABC">"DEF") /*错误的字符串比较*/
if(strcmp("ABC","DEF") /*正确的字符串比较*/
3. strcpy函数
(“字符串复制函数”)
一般形式:strcpy(字符数组1,字符串2)
作用:将字符串2复制到字符数组1中去。
例如:
char str1[10],str2[]={″csdn″};
strcpy(str1,"csdn");
(1)字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。
(2)“字符数组1”必须写成数组名形式(如str1),“字符串2”可以是字符数组名,也可以是一个字符串常量。
其中,字符串1必须是字符串变量,而不能是字符串常量。strcpy函数把字符串2的内容完全复制到字符串1中,而不管字符串1 中, 原先存放的是什么。复制后,字符串2保持不变。
例如: strcpy(str1,″China″);
(3)复制时连同字符串后面的′\0′一起复制到字符数组1中。
(4)可以用strncpy函数将字符串2中前面若干个字符复制到字符数组1中去。
例如:strncpy(str1,str2,2);作用:将str2中前面2个字符复制到str1中去,然后再加一个‘\0’
(5)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
例如:
str1=″China″; 不合法
str1=str2; 不合法
(6)用strcpy函数只能将一个字符串复制到另一个字符数组中去。
用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。
例如:(合法的使用)
char a[5],c1,c2;
c1=′A′; c2=′B′;
a[0]=′C′; a[1]=′h′; a[2]=′i′;
a[3]=′n′; a[4]=′a′;
(7)由于字符串是数组类型,所以两个字符串复制不通过赋值运算进行。
例如:
t=s; /*错误的字符串复制*/
strcpy(t,s); /*正确的字符串复制*/