C、C++文件操作相關資料

一、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 語言二進制和文本文件操作的區別

  1. linux系統下c 語言進行文件操作
    linux系統下,一切皆文件,只有一種文件系統,因此二進制方式和文本方式(ASCII碼方式)不存在區別。

  2. windows系統下c 語言進行文件操作

    a.以文本方式打開文件,若將數據寫入文件,如果遇到換行符’\n’(ASII 值爲10,0A),則會轉換爲回車—換行’\r\n’(ASCII值爲13,10,0D0A)存入到文件中,同樣讀取的時候,若遇到回車—換行,即連續的ASCII值13,10,則自動轉換爲換行符。 而以二進制方式打開文件時,不會進行這樣的處理。

    b.如果以文本方式打開文件時,若讀取到ASCII碼爲26(^Z)的字符即0x1a,則停止對文件的讀取,會默認爲文件已結束,而以二進制方式讀取時不會發生這樣的情況。由於正常情況下我們手動編輯完成的文件是不可能出現ASCII碼爲26的字符,所以可以用feof函數去檢測文件是否結束。

    鑑於以上區別,知道文件類型時使用相對應的方式對文件進行打開。文件類型未知,使用二進制方式打開文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章