大家好,小康来为大家解答以上问题。strncpy函数源码,strncpy很多人还不知道,现在让我们一起来看看吧!
“strncpy”的用法如下:
strncpy是C语言的库函数之一,来自C语言的标准库,在string.h,char *strncpy(char * dest,const char * src,int n)中定义。它将src指向的字符串的前N个字节从src地址开始复制到dest指向的数组中,并返回dest。
一、功能:
(c/c)复制内容(字符、数字、汉字.)放入字符串dest。副本的数量由size _ t n的值决定,如果src的前n个字符不包含空字符,则结果不会以空字符结尾。如果nsrc的长度只是将src的前n个字符复制到dest的前n个字符,则不会自动添加' \0 ',即结果dest不包含' \0 ',因此需要手动添加另一个' \0 '。如果src的长度小于n个字节,则在复制n个字节之前,dest用NULL填充。src和dest指示的存储区不能重叠,dest必须有足够的空间容纳src的字符长度' \0 '。
二。strcpy、strncpy和memcpy的区别和用法:
1.memcpy函数
void*memcpy(void *s1,const void *s2,size _ t n);
描述:
memcpy函数将s2指向的对象中的n个字符复制到s1指向的对象中。如果复制发生在两个重叠的对象中,这种行为是未定义的。
返回值:memcpy函数返回s1的值。
2.strcpy函数
char*strcpy(char *s2,const char * S1);
描述:
strcpy函数将s1指向的字符串(包括空字符)复制到s2指向的数组中。如果复制发生在两个重叠的对象中,这种行为是未定义的。
返回值:函数strcpy返回s2的值。
3.strncpy函数
char *strncpy(char * S2,const char *s1,size _ t n);
描述:
strncpy函数从s1指向的数组中复制N个字符(不复制空字符之后的字符)到s2指向的数组中。如果复制发生在两个重叠的对象中,这种行为是未定义的。如果s1指向的数组是一个短于N的字符串,则在s2定义的数组后填充字符,直到写入N个字符。
本文到此结束,希望对大家有所帮助。