2015-04-06 68 views
-3

只是一個關於在C++中寫入文件的簡短問題。當我使用file.close()時,所有東西都寫入文件中。命令,而不是之前。所以我只需要檢查一下,如果文件可以打開,並且關閉命令正常工作。這足以在C++中使用ofstream進行錯誤處理嗎?寫文件錯誤處理

乾杯

+1

當調用'close()'時,數據只寫入文件是不正確的。如果這就是你所看到的,你可能正在目睹一些緩衝行動。嘗試禁用緩衝或調用'flush()'。 – 2015-04-06 14:05:11

回答

1

不需要。您還需要在個人寫入後檢查錯誤。正如@FrerichRaabe所說,寫入實際上確實發生在file.close()之前。但是,由於緩衝,您可能看不到這些寫入。但是在其他時候也可能發生錯誤。

+0

好吧,所以我必須檢查每次我使用file.write(char,length);例如:file.write(char1,length1);如果(file.fail()){//錯誤}; file.write(char2,length2);如果(file.fail()){//錯誤}; 有沒有更好的解決方案? – Chuck 2015-04-06 14:27:43