0
我已經打開了一個文件,用於將一些數據寫入文件,但是它會一直保存緩衝區,直到程序結束纔會寫入任何內容。我如何跳過緩衝過程並直接寫入文件。C語言:無緩衝寫入文件
我的代碼:
fprintf (fp, "# Step: %d %f\n", ntot, eDiff);
for(i=0; i<nType; i++)
fprintf (fp, "%s %f %f\n",param[i].cTypes, param[i].eps, param[i].sigma);
fprintf(fp, "# ============\n");
這可能是因爲在某些怪異的方式緩衝的OS,如果有任何緩衝可言。有一些可能有所幫助 - > http://stackoverflow.com/questions/1716296/why-does-printf-not-flush-after-the-call-unless-a-newline-is-in-the-format-條形碼 – Etherealone
您錯過了fopen,fsync和fclose調用。你甚至缺少main()。你如何期待我們幫助你? – CAFxX
使用'setvbuf'緩衝控制。 – BLUEPIXY