strncpy 函数文档
函数概要:
和 strcpy 函数一样,strncpy(dest, src, n) 函数将拷贝源字符串的 n 个字符到目标数组中。如果源字符串的长度小于 n,那么就用 '\0' 填充额外的空间。如果源字符串的长度大于或等于 n,那么只有 n 个字符被拷贝到目标数组中(注意:这样的话将不会以结束符 '\0' 结尾)。
小甲鱼温馨提示:为了使该函数更“安全”,建议使用 dest[sizeof(dest) - 1] = '\0'; 语句确保目标字符串是以 '\0' 结尾。
源字符串和目标数组的位置不应该重叠。
函数原型:
#include <string.h> ... char *strncpy(char *dest, const char *src, size_t n);
参数解析:
|
参数 |
含义 |
|
dest |
指向存放字符串的目标数组 |
|
src |
指向待拷贝的源字符串 |
|
n |
指定拷贝的最大长度 |
返回值:
返回值是指向目标字符串的指针。
演示:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "To be or not to be";
char str2[40];
char str3[40];
strncpy(str2, str1, sizeof(str2));
strncpy(str3, str2, 5);
str3[5] = '\0';
printf("%s\n", str1);
printf("%s\n", str2);
printf("%s\n", str3);
return 0;
}




