今天用vs2010寫個簡單的用來記錄軟體的日誌到檔案的程式,使用\n
所以在使用二進位制模式開啟檔案,寫入的時候,換行請使用\r\n .
而在文字模式下開啟檔案寫入時, 用\n即可以了,(使用ultraedit檢視file1和file2的二進位制,發現file2多了乙個\r字元(0x0d), 這就是文字模式的原因了。
對於不同的平台,預設的換行是不一樣的。。。
測試**如下:
#include #include #include #include int main()
; char *str2[1024] = ;
file1 = fopen("test1.txt","rb");
file2 = fopen("test2.txt","r");
assert(file1 && file2);
int readlen1 = fread(str1, 1, len, file1);
assert(readlen1 == len);//判斷讀出的位元組數與寫入的是否相等
printf("file1:\n");
printf("%s",str1);
return 0;
}
文字模式 二進位制模式 文字檔案 二進位制檔案
這幾個概念很常見但是也容易搞混。前兩者是相反的意思,後兩者是一對。1.文字模式 textmode 和二進位制模式 binarymode 的 區別0.無論你用哪種語言進行程式設計,也無論你用哪個函式進行檔案操作 庫函式也好,直接作業系統api也好 最終的檔案開啟的操作都是由作業系統來進行的,因此各種語...
檔案開啟的文字模式和二進位制模式
首先要明白一點,就是無論你用哪種語言進行程式設計,也無論你用哪個函式進行檔案操作 庫函式也好,直接作業系統api也好 最終的檔案開啟的操作都是由作業系統來進行的,因此各種語言的情況從本質上來說都是相同的。用二進位制模式開啟乙個檔案的時候,檔案本身的內容和你編寫程式時用函式讀到的內容完全相同 或者說和...
二進位制檔案
本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...