strdup 的用法

在看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函数了,非常方便

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值