2011-04-26 21 views
0

我目前正在學習二進制文件再次寫入,我有一個關於它們所持有的類型和數據的基本問題。 我正在通過描述二進制文件的文檔工作。在標題中使用了幾個uint8數據類型,但用這種類型寫入的數據不是一個整數,而是一個字符(「F」)。我想,我必須炭「F」強制轉換爲unsinged整數,寫在文件:使用二進制文件中的類型

unsigned int var1 = (int)"F"; 
fwrite(var1, sizeof(var1), 1, *fp); 

當一個十六進制編輯器我看到,這沒有奏效打開生成的文件,這是因爲字母「F」應該被編輯認可。 如何正確地將其寫入文件?

非常感謝。

Draetsch

回答

0

int是不一樣的作爲INT8,一個 「INT」 具有32個比特,而一個具有INT8,以及,8位。我認爲你在這裏尋找的數據類型在運行時保存來自你的文件的數據是一個unsigned char,而不是一個unsigned int。

+0

嗨,三角洲,謝謝你的提示與位。我會看看那個。與此同時,我發現,我認爲字符串是用UTF-8編碼的,這使得它們是整數。我現在要看看編碼。感謝幫助我。 – draetsch 2011-04-29 09:18:52