😸
[C] strdup 関数
機能
文字列を複製(コピー)し、新たなメモリ領域に格納して返す関数[1]。
使用例
Hello\n
と表示する
\n
は改行を表す エスケープシーケンス[2]
コード
char* s = strdup("Hello\n");
printf("%s", s);
free(s);
全文
#include <stdio.h>
#include <string.h> // strdup
#include <stdlib.h> // free
void main() {
char* s = strdup("Hello\n");
printf("%s", s);
free(s);
}
実行結果
Hello
world!\n
を変数から表示する
コード
const char* src = "world!\n";
char* s = strdup(src);
printf("%s", s);
free(s);
全文
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main() {
const char* src = "world!\n";
char* s = strdup(src);
printf("%s", s);
free(s);
}
実行結果
world!
Discussion