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

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

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

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


图 1 字符串拼接

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

下面展示了一个使用 strcat() 函数拼接字符串的示例:
#include <stdio.h>
#include <string.h>
int main()
{
    char dest[9] = "ILove";
    char src[4] = "You";

    // 拼接前
    printf("%s\n", src);
    printf("%s\n", dest);

    // 拼接字符串
    char * str = strcat(dest, src);

    // 拼接后
    printf("%s\n", src);
    printf("%s\n", dest);
    printf("%s",str);
    return 0;
}
运行结果为:

You
ILove
You
ILoveYou
ILoveYou

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

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


图 2 字符串拼接越界

相关文章