往二進位制檔案中寫入char值0x0A出現問題

2021-10-17 12:36:42 字數 645 閱讀 4487

std:

:ofstream fout;

std:

:string filename =

"data.dat"

; fout.

open

(filename, std:

:ios:

:out)

;char ch =10;

fout.

write

(&ch,1)

; fout.

close()

;

往data.dat裡寫入0x0a的時候前面多了乙個0x0d,這是因為,fout.open後面沒有加std::ios::binary,所以寫的是文字檔案,0x0a是換行鍵,所以寫的時候前面多了乙個0x0d多了個回車鍵。

解決方法是

std::ios::out);

fout.

open

(filname,std:

:ios:

:out|std:

:ios:

:binary)

;

二進位制檔案寫入

被二進位制檔案寫入困擾了2天之後終於寫出來 先把 貼上,明天補說明 imports system imports system.io imports system.text imports microsoft.visualbasic public sub a1 byval mystr as stri...

操作二進位制寫入二進

操作二進位制 寫入二進位制 1 宣告變數 sqlite3 stmt stat 2 把sql語句解析到stat結構中去 sqlite3 prepare 3 繫結替換 sqlite3 bind blob 4 儲存到資料庫 int result sqlite3 step 5 釋放stat結構 sqlite...

二進位制檔案

本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...