2、字符串连接函数:
strcat(字符数组1,字符数组2)
int main(void)
{
char str1[15] = "hello"; //字符数组1
char str2[6] = "world"; //字符数组2
strcat_s(str1, str2);
printf("%s\n",str1);
return 0;
}
注意:
1、字符串2连接到字符串1的后面,将连接后的结果放在字符数组1中,最后得到字符数组1的地址;
2、两个字符串后面均有结束符’\0’,在连接时字符串1后面的结束符会被取消,只在新串最后保留结束符。
3、字符串复制函数:
strcpy(字符数组1,字符数串2或者字符数组名)
strncpy(字符数组1,字符串2或者字符数组名,n)
int main(void)
{
char str1[15];
char str2[6] = "world";
strcpy_s(str1, str2);//将str2字符数组复制到str1中,str1的容量必须比str2大
printf("%s\n",str1);
strncpy_s(str1, str2, 3);//将前3个字符复制到str1中
puts(str1);
return 0;
}
注意:
1、若开始没有对字符数组1进行初始化或者复制,str1中的内容是无法预知的,复制时str2将内容和结束符一起复制到str1中,而此时str1字符数组结束符后面的剩余空间的字节内容不一定是’\0’;
2、不能用赋值语句将字符串常量或者字符数组直接赋值给字符数组,如str1=“world”;这写法是错误的,必须要用strcpy()函数,用赋值语句将一个字符赋值给字符型变量或者字符数组是可以的。
区别:
strcat的应用一般是两个对象两个空间都有内容;
strcpy的应用一般是一个对象里面有内容,另一个没用;