strcpyとstrdupの比較と詳細
1672 ワード
strcpyとstrdupの比較と詳細
関数と機能の説明:
①extern char *strdup(char *s);
ヘッダファイル:string.h
機能:シリアルを新しい場所にコピーする
戻り値:コピー文字列に割り当てられたスペースを指すポインタを返します.スペースの割り当てに失敗した場合、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;
}
まとめ:
関数と機能の説明:
①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
機能: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 。