文字模式
二進位制模式
c可以認識ctrl+z為檔案結尾
c只會把ctrl+z當做檔案中的乙個字元,真正的檔案結尾在後面
ms-dos用\r\n
組合表示換行符,c將\r\n
看作\n
程式將看到這兩個字元
此外,檔案的第乙個字元可能不是檔案的第乙個字元,所以用文字檔案開啟,ftell()可以返回正確的檔案當前位置。而使用二進位制方式開啟,則可能得不到正確的結果。
如果將整數12345使用文字io函式fprintf(fp, "%d", num)
輸入到檔案指標fp所指向的檔案中,實質上是將字元1
,2
,3
,4
,5
輸入到了檔案中。佔了5個位元組。
而使用二進位制io函式fwrite(&num, siezof(num), 1, fp)
輸入到檔案指標fp所指向的檔案中,則是將12345
的二進位制形式輸入到了文字中,佔乙個int
大小的位元組。
文字模式的io函式可以用在二進位制檢視下開啟的檔案(rb
、wb
等),二進位制模式的io函式也可以用在文字檢視下開啟的檔案(r
、w
等)。但一般情況下還是在文字檢視下使用文字io,二進位制模式下使用二進位制io。
大概是因為文字模式的目的是使得人類能夠直接閱讀檔案中的內容,要支援一種編碼(ascii、utf8)。而二進位制是方便計算機讀取資料,同時使檔案更小。
c prim plus 第五版
c語言文字方式和二進位制方式開啟檔案區別
C語言檔案操作總結
幾乎每乙個專案都有乙個日誌記錄功能,用於記錄軟體執行的情況方便日後的審計與審查。而日誌記錄就涉及到了檔案的讀寫操作。因此,本文對c語言下的檔案操作進行了總結。fopen用來開啟檔案。file fopen const char name,const char mode name 是要開啟檔案的檔名指標...
C語言操作檔案總結
include stdio.h include malloc.h include 獲取檔案大小 long getsize char path return 1 fclose fp void readtxt char path 下面兩種方式本質都是分配乙個10位元組的儲存單元,然後宣告乙個字元指標指向...
C語言總結9 C語言檔案操作
磁碟上的檔案是檔案 檔案包含檔案內容和檔案屬性,都是資料,需要儲存 檔案分為程式檔案 源程式檔案 目標檔案 可執行程式檔案 和資料檔案 資料檔案分為文字檔案 以ascii碼的形式儲存 和二進位制檔案 以為二進位制的形式儲存 1 從記憶體向磁碟輸入資料會先送到記憶體中的緩衝區,裝滿緩衝區之後才一起送到...