strcpyとstrdupの比較と詳細

1672 ワード

strcpyとstrdupの比較と詳細
関数と機能の説明:
①extern char *strdup(char *s);
ヘッダファイル:string.h
機能:シリアルを新しい場所にコピーする
   :strdup     c  。strdup()      malloc()       ,            ,   free()         ,         。

戻り値:コピー文字列に割り当てられたスペースを指すポインタを返します.スペースの割り当てに失敗した場合、NULL値が返されます.
 // strdup.c
#include 
#include 
main() 

 char *s="Golden Global View";
char *d;
 d=strdup(s);
printf("%s",d);
return 0;
}
②char *strcpy(char* dest, const char *src);
ヘッダファイル:#includeと#include
機能:srcアドレスから始まりNULL終端を含む文字列をdestで始まるアドレス空間にコピーする
説明:strcpyは標準的なC言語標準ライブラリ関数です.srcとdestは、メモリ領域が重なり合ってはいけないことを意味し、destはsrcの文字列を収容するのに十分な空間を持っていなければならない.
戻り値:destを指すポインタを返します.
例:
 // strcpy.     
      #include 
 #include      
 main()
  {        
char *s="Golden Global View";
char d[20]; 
printf("%s",d);       
 return 0;    
  }
まとめ:
1.strdup     c  ,strcpy    c  ,       。
2.strdup                      ,               ,strcpy                 。
3.strdup   free()      ,       。
4.  strcpy      src  ,   strlen  src   ,   dest    ,   strcpy       。