strncpy 是一个常用的 C 语言函数,用于从源字符串复制指定长度的字符到目标字符串。其函数原型如下:
c
复制
char *strncpy(char *dest, const char *src, size_t n);
参数解释:
dest:目标字符串,即要复制到的字符串。
src:源字符串,即要从中复制的字符串。
n:要复制的字符数。
使用示例:
c
复制
#include <stdio.h>#include <string.h>int main() {
char source[] = "Hello, World!";
char destination[10];
strncpy(destination, source, 5);
destination[5] = '\0'; // 添加字符串终止符
printf("Source: %s\n", source);
printf("Destination: %s\n", destination);
return 0;
}
输出:
makefile
复制
Source: Hello, World!
Destination: Hello
注意事项:
strncpy 不保证目标字符串以 null 结尾,因此在使用之前,通常需要手动添加 null 结尾符。
如果源字符串的长度大于 n,则复制的字符数将小于 n,并且目标字符串可能以未初始化的字符结尾。为了避免这种情况,可以使用 strncat 或手动添加 null 结尾符。