strdup

 strdup()函数是c语言中常用的一种字符串拷贝库函数,一般和free()函数成对出现。

原型:

extern char *strdup(char *s);

头文件:string.h


  1. char *strdup(const char *s)  
  2. {  
  3.         char *t = NULL;  
  4.         if (s && (t = (char*)malloc(strlen(s) + 1)))  
  5.         strcpy(t, s);  
  6.         return t;  
  7. }    

说明:

功 能: 将串拷贝到新建的位置处
strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。
返回值:存储该字符串的空间的地址,如果分配失败,返回null。

strdup符合posix标准,而_strdup是windows特有的,unix下,使用strdup。



这个函数完全可以被strcpy代替,只是函数传入参数不同而已。如果是strcpy的话,必须先准备好开辟的空间方便存储内容,而在strdup中,这部分在函数内部已经处理过了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值