您的位置:首页 > 运维架构 > Linux

strdup 的用法

2015-08-25 21:30 246 查看
在看lxc代码中很多出现这个strdup()函数

所以非常好奇这个函数是做什么的,就查了一下这个东西是做什么用的。

头文件:#include <string.h>

定义函数:char * strdup(const char *s);

函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。

返回值:返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL 表示内存不足。

这个就很方便了。来看一下代码

#include <stdio.h>
#include <string.h>

int main()
{
char a[] = "strdup";
char *b;
b = strdup(a);
//b = malloc(10 * sizeof(*b));
strcpy(b,a);
printf("b[] = \" %s \" \n",b);
return 0;
}

你会发现不用下面那个malloc函数了,非常方便
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux命令 C语言