-3
文字列に問題がありますか?fprintf txtファイルにゴミを印刷しています
私は非常に簡単なことをしようとしています:intを文字列に変換し、それを以下の方法でtxtファイルに出力します。
const char * test_string() {
char s[5];
int num = 123;
sprintf(s, "%d", num);
return s;
}
int save() {
FILE *fh = fopen("test.txt", "w");
const char * text = test_string();
fprintf(fh, "%s", text);
fclose(fh);
}
しかし、この単純なタスクのために、私は以下の結果を得ている:
Üþ(
私はこの問題でいくつかの支援をしたいと思います。前もって感謝します。
関数からローカル変数のアドレスを返すには、関数が返された後に変数がもはや有効ではないため、未定義の動作があります。 –
@KerrekSB:この質問に情報ページにdupを追加する必要があります。その質問は数日おきに尋ねられます。 – Olaf
ありがとうございます。どうやらCは見た目より複雑です。 – miroki123