首页 评测 > 内容

今日strncpy函数源码(strncpy)

时间:2023-04-28 17:36:44 来源:
导读 大家好,小康来为大家解答以上问题。strncpy函数源码,strncpy很多人还不知道,现在让我们一起来看看吧! “strncpy”的用法如下: strncp

大家好,小康来为大家解答以上问题。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个字符。

本文到此结束,希望对大家有所帮助。

标签: