🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C `strncat()`函数 > 原文: [https://beginnersbook.com/2017/11/c-strncat-function/](https://beginnersbook.com/2017/11/c-strncat-function/) 在上一个教程中,我们讨论了 [`strcat()`函数](https://beginnersbook.com/2017/11/c-strcat-function-with-example/),它用于将一个字符串连接到另一个字符串。在本指南中,我们将看到类似的**`strncat()`函数**,它与 `strcat()`相同,只是 `strncat()`只将指定数量的字符附加到目标字符串。 ## C `strncat()`函数声明 ```c char *strncat(char *str1, const char *str2, size_t n) ``` `str1` - 目标字符串。 `str2` - 附加在目标字符串`str1`末尾的源字符串。 `n` - 需要追加的源字符串`str2`的字符数。例如,如果这是 5,则只有源字符串`str2`的前 5 个字符将附加在目标字符串`str1`的末尾。 **返回值:**该函数返回指向目标字符串`str1`的指针。 ## 示例:C 中的`strncat()`函数 ```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\n", strncat(str1, str2, 5)); // this should be same as return value of strncat() printf("Destination String str1: %s", str1); return 0; } ``` 输出: ```c String after concatenation: This is my initial string, add Destination String str1: This is my initial string, add ``` 正如您所看到的,在字符串`str1`的末尾只连接了字符串`str2`的 5 个字符,因为我们在 `strncat()`函数中将`count`指定为 5。 另一个**需要注意的重点是**这个函数返回指向目标字符串的指针,这就是为什么当我们显示 `strncat()`的返回值时,它与目标字符串`str1`相同。