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 );

written by Minidxer  |  tags: , , , , , , , , ,

Leave a Reply