- 389 名前:351 mailto:sage [2010/04/24(土) 15:36:11 ]
- 標準ライブラリにstrdupがあります。strdupは内部でmallocします。(>>351の(1)に相当)
char *strdup(const char *s); char* str = strdup("hogehoge"); //←確保するメモリー領域のサイズはstrdupのおまかせ!○ printf("%s\n", str); //処理の例 free(str); //freeが必要× 同等のことを行うmy_strdupを作ることもできます。my_strdupは内部でmallocしません。(>>351の(2)に相当) void my_strdup(const char* src, char* dst, int size); char str[100]; //←コピーする文字列より大きなサイズのメモリーが必要× my_strdup("hogehoge", str, sizeof(str)); printf("%s\n", str); //処理の例 //freeは必要ない!○ (次に続く)
|

|