我需要讀取,然後寫入文件。我不想使用「r +」,因爲我完全覆蓋它。但我無法完全關閉該文件。如果我嘗試第二次打開文件,則應用程序崩潰(無法打開)。有誰知道如何完全關閉文件。完全關閉c中的文件
這是不是實際的代碼,只是一個是我想要做的總結:
FILE* f;
fopen_s(&f, "test.txt", "r");
// read file and edit data
fclose(f);
f = 0;
fopen_s(&f, "test.txt", "w");
fprintf(f, "%c", data);
fclose(f);
我不清楚,爲什麼你不能關閉文件?你正在嘗試閱讀,然後從你離開閱讀的地方寫下來? – Mike
什麼是'fopen_s()'?使用標準函數['fopen()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/fopen.html)我會測試返回值以檢查操作是否成功......並且可能否則報告一個錯誤(函數['perror()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/perror.html))。 – pmg
我認爲這是fopen的安全版本! – trumpetlicks