我試圖覆蓋C中的文件的內容,目前我有:如何覆蓋C文件?
FILE* file = fopen("filename.txt", "r+");
fprintf(file, "%d", 1); // regardless of what's in the file, i want to clear it and put 1 in there
...
// legacy code somewhere else in the code base. can't change.
rewind(file);
fprintf(file, "%d", 2);
fflush(file);
然而,這將無法正常工作。其結果將是:
1,21
每個後續號碼將被寫入到1的開頭例如:
1,第21,31,41,...
我想知道是否有一種方法來始終覆蓋所以下面的產生有什麼文件:
1,2,3,4,...
任何援助將不勝感激。
謝謝。
編輯:
我已經改變了代碼:
FILE* file = fopen("filename.txt", "w+");
的問題仍然存在。
只要打開它爲「W +」 – BlackBear 2012-02-06 18:41:10