strcat、strcpy、strcmp三种函数用法

1. strcat函数
其一般形式为:strcat(字符数组1,字符数组2)

strcat的作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。

例如:

char str1[30]={″People′s  Republic  of  ″};
char str2[]={″China″};
printf(″%s″,strcat(str1,str2));  
输出:
People′s Republic of China  

2. strcpy函数 
其一般形式为:strcpy(字符数组1,字符串2) 
strcpy是“字符串复制函数”。
作用:是将字符串2复制到字符数组1中去。例如:
char str1[10],str2[]={″China″};
strcpy(str1,”china”); 

(1)字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。
(2)“字符数组1”必须写成数组名形式(如str1),
“字符串2”可以是字符数组名,也可以是一个字符串常量。如:strcpy(str1,″China″); 
(3)复制时连同字符串后面的′\0′一起复制到字符数组1中。
(4)可以用strncpy函数将字符串2中前面若干个字符复制到字符数组1中去。
例如:strncpy(str1,str2,2);作用是将str2中前面2个字符复制到str1中去,然后再加一个‘\0’。

(5)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如:
   str1=″China″;  不合法    
   str1=str2;       不合法
用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′; 

3. strcmp函数 
其一般形式为:strcmp(字符串1,字符串2) 
strcmp的作用是比较字符串1和字符串2。
例如:strcmp(str1,str2);
          strcmp(″China″,″Korea″);
          strcmp(str1,″Beijing″);

比较的结果由函数值带回
(1) 如果字符串1=字符串2,函数值为0。
(2) 如果字符串1>字符串2,函数值为一正整数。
(3) 如果字符串1<字符串2,函数值为一负整数。
注意:对两个字符串比较,不能用以下形式:
if(str1>str2) 
printf(″yes″);
而只能用
if(strcmp(str1,str2)>0) 
printf(″yes″)。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页