C語言中w與wb


w:打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。

wb:只寫方式打開或新建一個二進制文件,只允許寫數據。

wb+ 讀寫方式打開或建立一個二進制文件,允許讀和寫

 

a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)

a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾后,即文件原先的內容會被保留。 (原來的EOF符不保留

ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。

 

加入b 字符用來告訴函數庫打開的文件為二進制文件,而非純文字文件。

 

計算機的存儲在物理上是二進制的,所以本文件與二進制文件的區別不在於物理存儲上,而是邏輯上的不同。即編碼格式的不同,文本文件用的是字符編碼,例如ASCII編碼(定長),二進制文件是基於值編碼,用的是二進制的方式來存放數據的(變長)。

摘錄的,你看看吧,希望有幫助!!

從文件編碼的方式來看,文件可分為ASCII碼文件和二進制碼文件兩種。

  ASCII文件也稱為文本文件,這種文件在磁盤中存放時每個字符對應一個字節,用於存放對應的ASCII碼。例如,數5678的存儲形式為:
ASC碼:  00110101 00110110 00110111 00111000
     ↓     ↓    ↓    ↓
十進制碼: 5     6    7    8 共占用4個字節。ASCII碼文件可在屏幕上按字符顯示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可顯示文件的內容。 由於是按字符顯示,因此能讀懂文件內容。

  二進制文件是按二進制的編碼方式來存放文件的。 例如, 數5678的存儲形式為: 00010110 00101110只占二個字節。二進制文件雖然也可在屏幕上顯示, 但其內容無法讀懂。C系統在處理這些文件時,並不區分類型,都看成是字符流,按字節進行處理。 輸入輸出字符流的開始和結束只由程序控制而不受物理符號(如回車符)的控制。 因此也把這種文件稱作“流式文件”。
一個文件可以以文本模式或二進制模式打開,這兩種的區別是:在文本模式中回車被當成一個字符'/n',而二進制模式認為它是兩個字符0x0D,0x0A;如果在文件中讀到0x1B,文本模式會認為這是文件結束符,也就是二進制模型不會對文件進行處理,而文本方式會按一定的方式對數據作相應的轉換。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM