平臺是ARM上的Ubuntu Linux。 我想寫一個字符串到一個文件,但我想每次都截斷文件,然後寫入字符串,即沒有附加。用fopen打開的文件ftruncate
我有這樣的代碼:
f=fopen("/home/user1/refresh.txt","w");
fputs("{"some string",f);
fflush(f);
ftruncate(fileno(f),(off_t)0);
flcose(f);
如果我運行它,然後檢查文件,這將是零長度和打開時,會出現什麼也沒有。 如果我刪除fflush
調用,它不會是0(將是11),當我打開它時,會出現「一些字符串」。 這是正常的行爲? 我沒有問題調用fflush
,但我想在循環中執行此操作,並調用fflush
可能會大大增加執行時間。
如果不刷新緩衝區,它可以發生,這只是對'fclose'通紅,截斷後。 –