首页 > 编程笔记

C语言strncpy():拷贝字符串的前n个字符

strncpy() 是 C语言的一个标准库函数,定义在<string.h>头文件中。

strncpy() 函数的功能是将指定字符串的前 n 个字符拷贝到另一个字符数组中,该函数的原型如下:
char *strncpy(char *dest, const char *src, size_t n);

参数

返回值

返回参数 dest 的值,即返回一个指向存放 n 个字符的数组指针。

也就是说,strncpy()函数是将 src 指向的前 n 个字符拷贝到 dest 字符数组中:
【实例】以下 C语言代码演示了如何用 strncpy() 函数复制一个字符串,并确保目标字符串始终以空字符结尾。
#include <stdio.h>
#include <string.h>

int main() {
    const char *src = "Hello, World!";
    char dest[20];

    strncpy(dest, src, sizeof(dest) - 1); // 保留一个位置给空字符
    dest[sizeof(dest) - 1] = '\0'; // 确保字符串以空字符结尾

    printf("Copied string: %s\n", dest);
    return 0;
}
输出结果为:

Copied string: Hello, World!

示例展示了用 strncpy() 函数从一个字符串复制到另一个字符串,其中留有空间来存放最后的空字符,以确保目标字符串以空字符结尾。

推荐阅读