一、c/c++文件操作資料鏈接
https://www.cnblogs.com/batman425/p/3179520.html [C++ ofstream和ifstream詳細用法]
https://blog.csdn.net/yiruirui0507/article/details/6041155 [C++編程中對緩衝區的理解]
https://www.cnblogs.com/zhanggaofeng/p/5160082.html [c語言文件操作]
二、c 語言二進制和文本文件操作的區別
-
linux系統下c 語言進行文件操作
linux系統下,一切皆文件,只有一種文件系統,因此二進制方式和文本方式(ASCII碼方式)不存在區別。 -
windows系統下c 語言進行文件操作
a.以文本方式打開文件,若將數據寫入文件,如果遇到換行符’\n’(ASII 值爲10,0A),則會轉換爲回車—換行’\r\n’(ASCII值爲13,10,0D0A)存入到文件中,同樣讀取的時候,若遇到回車—換行,即連續的ASCII值13,10,則自動轉換爲換行符。 而以二進制方式打開文件時,不會進行這樣的處理。
b.如果以文本方式打開文件時,若讀取到ASCII碼爲26(^Z)的字符即0x1a,則停止對文件的讀取,會默認爲文件已結束,而以二進制方式讀取時不會發生這樣的情況。由於正常情況下我們手動編輯完成的文件是不可能出現ASCII碼爲26的字符,所以可以用feof函數去檢測文件是否結束。
鑑於以上區別,知道文件類型時使用相對應的方式對文件進行打開。文件類型未知,使用二進制方式打開文件。