Nov 01
※作者:丁志刚 转载请注明:Minidx全文检索【http://blog.minidx.com/2007/11/01/40.html】
原型:extern char *strdup(char *s);
头文件:#include <string.h>
功能:复制字符串s
说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。
举例:
// strdup.c
#include <syslib.h>
#include <string.h>
main()
{
char *s=”Golden Global View”;
char *d;
clrscr();
d=strdup(s);
printf(”%s”,d);
getchar();
return 0;
}
需要注意的地方:
1,malloc/new分配的内存不要忘记free/delete
2, malloc和free,new和delete配对不要弄错了。
另外在功能上和下面的代码是等价的:
char *dest = malloc( strlen( src ) + 1 );
assert( dest != NULL );
strcpy( dest, src );
