C 标准库 - <string.h>
描述
C 库函数 char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。
声明
下面是 strncpy() 函数的声明。
char *strncpy(char *dest, const char *src, size_t n)
参数
- dest -- 指向用于存储复制内容的目标数组。
- src -- 要复制的字符串。
- n -- 要从源中复制的字符数。
返回值
该函数返回最终复制的字符串。
实例
下面的实例演示了 strncpy() 函数的用法。在这里,我们使用函数 memset() 来清除内存位置。
#include <stdio.h>
#include <string.h>
int main()
{
char src[40];
char dest[12];
memset(dest, '\0', sizeof(dest)); //清空dest
strcpy(src, "This is runoob.com"); //将字符串This is runoob.com复制到src中
strncpy(dest, src, 10); //将src的前10个字符复制到dest中
printf("最终的目标字符串: %s\n", dest);
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
最终的目标字符串: This is ru
注意:这其中要注意一个问题,就是要复制的字符数量不能超过dest的大小。
我用Pelles C IDE测试发现,即使超过dest大小限制也是可以输出的,但是结果未知,所以在引用该函数的时候需要谨慎对待!