std::strdup 和 std::strcpy 的比较

(源自:http://topic.csdn.net/u/20080820/10/1b03b9d5-4dfc-44e8-8ee6-599c672e8c90.html)

strdup

原型:extern char*strdup(char*s);

用法:#include <cstring>

功能:复制字符串s

说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。

举例:

 1 #include <cstring>
 2 main()
 3 {
 4      char *s="Golden Global View";
 5      char *d;
 6         
 7      clrscr();
 8         
 9      d=strdup(s);
10      cout<<s;
11 
12      getchar();
13      return 0;
14 }

strcpy

原型:extern char*strcpy(char*dest,char*src);

用法:#include <cstring>

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。

举例:

 1 #include <cstring>
 2 
 3 main()
 4 {
 5      char *s="Golden Global View";
 6      char d[20];
 7         
 8      clrscr();
 9         
10      strcpy(d,s);
11 
12      cout<<s;
13 
14      getchar();
15      return 0;
16  }

posted on 2012-06-13 18:58  NLP新手  阅读(393)  评论(0编辑  收藏  举报

导航