在 C 语言中,strncat函数用于将一个字符串的指定长度部分追加到另一个字符串的末尾。与 strcat 类似,它可以避免缓冲区溢出的问题。

strncat 函数头文件

strncat函数的头文件是<string.h>。在使用strncat函数之前,确保在你的 C 代码中包含这个头文件:

#include <string.h>

strncat 函数原型

 char *strncat(char * restrict s1,
    const char * restrict s2,
    size_t n);

strncat函数将s2指向的字符串中不多于n个字符附加到s1指向的字符串末尾。s2的初始字符将覆盖s1末尾的空字符。终止符'\0'始终附加到结果中。如果在重叠的对象之间进行复制,则行为未定义。

参数说明

  • s1:目标字符串指针,表示被修改字符串。它必须有足够的空间来容纳追加的内容;

  • s2:源字符串指针,表示要追加的字符串;

  • n:表示最多从s2追加的字符数;

返回值

strcat函数返回目标字符串指针,也就是s1的值;

strnccat 示例代码

示例一:

#include <stdio.h>
#include <string.h>

int main() {
    char s1[50] = "Hello, ";
    char s2[] = "World!";

    strncat(s1,s2,3); //追加3个字符
    
    printf("%s\n", s1);

    return 0;
}

程序运行效果

Hello, Wor

示例二:

追加字符串时,碰到终止符结束;

#include <stdio.h>
#include <string.h>

int main() {
    char s1[50] = "Hello, ";
    char s2[] = "W\0orld!";

    strncat(s1,s2,3);
    
    printf("%s\n", s1);

    return 0;
}

程序运行效果

Hello, W