-3
我遇到了字符串和c的問題。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