C/C中的strdup()和strndup()函数++

这个 strdup() strndup() 函数用于复制字符串。 strdup(): 语法: char*strdup(const char*s); 此函数返回指向以null结尾的字节字符串的指针,该字符串与 s .获取的内存是使用 马洛克 因此,可以使用 免费的 . 它返回指向重复字符串的指针 s . 下面是C实现,展示了在C中使用strdup()函数:

null

C

// C program to demonstrate strdup()
#include<stdio.h>
#include<string.h>
int main()
{
char source[] = "GeeksForGeeks" ;
// A copy of source is created dynamically
// and pointer to copy is returned.
char * target = strdup(source);
printf ( "%s" , target);
return 0;
}


输出:

GeeksForGeeks

strndup(): 语法 : char*strndup(常量char*s,大小n); 此函数类似于strdup(),但最多只能复制 N 字节。 笔记 :如果s大于n,则只复制n个字节,并在末尾添加NULL(“”)。 下面是C实现,展示了在C中使用strndup()函数:

C

// C program to demonstrate strndup()
#include<stdio.h>
#include<string.h>
int main()
{
char source[] = "GeeksForGeeks" ;
// 5 bytes of source are copied to a new memory
// allocated dynamically and pointer to copied
// memory is returned.
char * target = strndup(source, 5);
printf ( "%s" , target);
return 0;
}


输出:

Geeks

参考: Linux人(7) 本文由 马扎尔·伊玛目·汗 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享