代码点读机 / C / strncpy

strncpy C · 字符串函数

最多复制指定个数的字符到目标数组,不会自动补 \0。

怎么用

strncpy(目标数组, 源字符串, 最大复制数);

小例子

#include <stdio.h>
#include <string.h>
int main(void) {
    char a[10];
    strncpy(a, "hello", sizeof(a) - 1);
    a[sizeof(a) - 1] = '\0';
    printf("%s", a);
    return 0;
}

运行结果

输出 hello

提醒:要手动补 \0;如果源字符串很长而空间刚好填满,结果不会以 \0 结尾

官方文档:https://en.cppreference.com/w/c/string/byte/strncpy

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条