🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C `strcat()`函数 > 原文: [https://beginnersbook.com/2017/11/c-strcat-function-with-example/](https://beginnersbook.com/2017/11/c-strcat-function-with-example/) `strcat()`函数用于字符串连接。它在另一个指定字符串的末尾连接指定的字符串。在本教程中,我们将看到带示例的 `strcat()`函数。 ## C `strcat()`声明 ```c char *strcat(char *str1, const char *str2) ``` 此函数将两个指针作为参数,并在连接后返回指向目标字符串的指针。 `str1` - 指向目标字符串的指针。 `str2` - 指向附加到目标字符串的源字符串的指针。 ## 示例:C `strcat()`函数 ```c #include <stdio.h> #include <string.h> int main () { char str1[50], str2[50]; //destination string strcpy(str1, "This is my initial string"); //source string strcpy(str2, ", add this"); //concatenating the string str2 to the string str1 strcat(str1, str2); //displaying destination string printf("String after concatenation: %s", str1); return(0); } ``` 输出: ```c String after concatenation: This is my initial string, add this ``` 正如您所看到的,我们在字符串`str1`的末尾添加了字符串`str2`。我们将参数传递给函数`strcpy`的顺序很重要,第一个参数指定输出字符串,而第二个参数指定附加在输出字符串末尾的另一个字符串。 正如文章开头所讨论的那样,该函数返回指向目标字符串的指针。这意味着如果我们显示此函数的返回值,那么它应该显示目标字符串(在我们的示例中为字符串`str1`)。让我们稍微修改我们的代码来验证这一点。 ```c #include <stdio.h> #include <string.h> int main () { char str1[50], str2[50]; //destination string strcpy(str1, "This is my initial string"); //source string strcpy(str2, ", add this"); //displaying destination string printf("String after concatenation: %s", strcat(str1, str2)); return(0); } ``` 输出: ```c String after concatenation: This is my initial string, add this ```