strdup

xiaoxiao2021-02-28  261

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

原型:

extern char *strdup(char *s);

头文件:string.h

char *strdup(const char *s)   {           char *t = NULL;           if (s && (t = (char*)malloc(strlen(s) + 1)))           strcpy(t, s);           return t;   }    

说明:

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

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

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

转载请注明原文地址: https://www.6miu.com/read-77204.html

最新回复(0)