從本質上說所有檔案都是二進位制檔案,文字i/o是在二進位制i/o基礎上提供的一層抽象,它封裝了字元的編碼和解碼過程。在文字i/o中自動進行編碼與解碼。
在windows和dos系統中,狹義的文字檔案是指擴充套件名為txt的檔案。實際上,那些沒有規定格式的,由可理解的的ascii以及其它編碼文字組成的檔案都是文字檔案,如c源程式檔案,html超文字,xml。除此之外的其它檔案都是二進位制檔案,如word檔案doc,影象格式檔案jpg。
使用fopen標誌開啟文字檔案與二進位制檔案的說法並不準確。正確的說法應該是——以文字方式和二進位制方式開啟檔案。
二進位制方式很簡單,讀檔案時,會原封不動的讀出檔案的全部內容,寫的時候,也是把記憶體緩衝區的內容原封不動的寫到檔案中。
文字方式就不一樣了。文字方式允許在輸入或輸出時,對某些字元進行替換、增加或刪除等操作。
1)在windows平台上,在讀檔案時,會將換行符號cr lf(0x0d 0x0a)全部轉換成單個的0x0a,並且當遇到結束符ctrl+z(0x1a)時,就認為檔案已經結束。相應的,寫檔案時,會將所有的0x0a換成0x0d0x0a。
2)在unix平台上,沒有文字方式和二進位制方式的區分,使不使用'b'標誌都是一樣的。這是因為unix文字檔案的換行符只有乙個位元組lf(0x0a)。在c語言中,也是以lf即'/n'為換行符。
文字檔案與二進位制檔案
維基百科 二進位制檔案一般指包含ascii及擴充套件ascii字元中編寫的資料或程式指令的檔案。廣義的二進位制檔案即為檔案,由檔案在外部儲存裝置的存放方式為二進位制而得名。狹義的二進位制檔案即指除文字檔案以外的檔案。簡單來說,文字檔案是基於字元編碼的檔案,常見的編碼有ascii編碼,unicode編...
文字檔案與二進位制檔案
什麼是文字檔案,什麼是二進位制檔案?在windows和dos系統中,狹義的文字檔案是指擴充套件名為txt的檔案。實際上,那些沒有格式的,由可理解的ascii以及其他編碼文字組成的檔案都是文字檔案,如c原始檔,html超文字檔案,xml。除此之外的其他檔案都是二進位制檔案,如word檔案doc,影象格...
文字檔案與二進位制檔案
這裡談談文字檔案與二進位制檔案以及c語言讀寫這兩種檔案的標準介面。具體到物理儲存時都是二進位制的,關鍵是儲存前對資料的編碼有區別。文字檔案與二進位制檔案在計算機檔案系統中的物理儲存都是二進位制的,也就是在物理儲存方面沒有區別都是01碼,這個沒有異議,他們的區別主要在邏輯儲存上,也就是編碼上。文字檔案...