strdup

c語言中字元串拷貝庫函數

strdup()函數c語言中常用的一種字元串拷貝庫函數,一般和free()函數成對出現。

函數原型


extern char *strdup(char *s);
頭文件:string.h

函數說明


功 能: 將串拷貝到新建的位置處
strdup()在內部調用了malloc()為變數分配內存,不需要使用返回的字元串時,需要用free()釋放相應的內存空間,否則會造成內存泄漏

函數返回值


返回一個指針,指向為複製字元串分配的空間;如果分配空間失敗,則返回NULL值

函數例子


①.// strdup.c
#include
#include
#include
int main()
{
char *s="Golden Global View";
char *d;
d=strdup(s);
if(NULL != d) {
printf("%s\n",d);
free(d);
}
getchar();
return 0;
}
運行結果:
Golden Global View
②.Example:
CString sPath="d:\\1.jpg";
LPTSTR str = strdup( sPath );