首页 > 编程笔记 > C语言笔记 阅读:48

C语言strcat()拼接字符串的用法(附带实例)

通义灵码
C语言标准库中的 strcat() 函数用于将源字符串的内容拼接到目标字符串后面。

查看下图,源字符串为 You\0,目标字符串为 ILove\0。字符串拼接函数会将源字符串追加到目标字符串后面,使得目标字符串变为 ILoveYou\0。


图 1 字符串拼接

strcat() 函数原型如下:
char * strcat (char * destination, const char * source);
参数 destination 表示拼接目标字符串的首地址;参数 source 表示拼接源字符串的首地址。函数最终返回拼接后目标字符串的首地址,其实也就是参数 destination 记录目标字符串的首地址。

下面展示了一个使用 strcat() 函数拼接字符串的示例:
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5. char dest[9] = "ILove";
  6. char src[4] = "You";
  7.  
  8. // 拼接前
  9. printf("%s\n", src);
  10. printf("%s\n", dest);
  11.  
  12. // 拼接字符串
  13. char * str = strcat(dest, src);
  14.  
  15. // 拼接后
  16. printf("%s\n", src);
  17. printf("%s\n", dest);
  18. printf("%s",str);
  19. return 0;
  20. }
运行结果为:

You
ILove
You
ILoveYou
ILoveYou

拼接前,源字符串为 You\0,目标字符串为 ILove\0。拼接后,源字符串仍为 You\0,而目标字符串变为 ILoveYou\0

需要特别注意,目标字符串后必须有足够的空间。如果目标字符串所在的数组仅有 8 个元素,那么拼接后多出来的字符将会导致数组越界,如下图所示:


图 2 字符串拼接越界

相关文章