关于strncpy

来源:互联网 发布:第五代软件 编辑:程序博客网 时间:2024/05/22 02:27
原型:char * strncpy(char *dest, char *src, size_t n);
 
功能:将字符串src中最多n个字符复制到字符数组dest中(它并不像strcpy一样遇到NULL才停止复制,而是直到复制完第n个字符才停止,不管途中是否遇到了NULL,即在n个字符内会连同NULL一起复制),返回指向dest的指针。
 
头文件:#include "string.h"
说明:如果n > dest串长度,dest栈空间溢出产生崩溃异常。
 


/* 测试于 Visual Studio 2008 */
void strcpyNstrncpy()
{
 char buf[16] = "abcdefghigklmn";
 strcpy(buf, "123"); //buf[3] == '\0', buf[4]之后的仍然是旧值"efghigklmn"

 char buf2[16] = "abcdefghigklmn";
 strncpy(buf2, "123", sizeof(buf2)); //buf[3]之后的全部是'\0'
}