[爆卦]bin檔內容是什麼?優點缺點精華區懶人包

為什麼這篇bin檔內容鄉民發文收入到精華區:因為在bin檔內容這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jasonkd (飛天小牛)看板C_and_CPP標題[問題] 把bin檔內容存進陣列時間Wed...


問題(Question):
把bin檔的內容存到陣列裡

餵入的資料(Input):
我用sublime text 2 打開bin檔裡的內容 0000 0200 0000 0023 9402 0002 1440 000b


程式碼(Code):
#include <stdio.h>

int main()
{
int i;
FILE *ftp;
ftp = fopen("iimage.bin", "rb");
fread(&i, 1, 1, ftp);
printf("%d\n", i);
return 0;
}


顯示出的質是0

Q1 不知 fread(&i, 1, 1, ftp); 這行是否表示讀入00 這一個 byte 並且以int
的形式表示?但好像i又沒有讀到東西?請問是錯在哪?

Q2 我的目標是要把這16進位的內容存到陣列裡,請問要如何做?

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.218.4
※ 編輯: jasonkd 來自: 122.116.218.4 (03/28 00:04)
hpps:讀一個byte放入i的位址,但是卻i是個int,為什麼要這樣呢? 03/28 01:31
hpps:一般應該是用個char的buffer,然後檢查讀到幾byte在處理吧 03/28 01:33
因為char印出來的是一些奇怪的符號,不好分析,想說int讀出來至少是數字
※ 編輯: jasonkd 來自: 122.116.218.4 (03/28 01:51)
MOONRAKER:你的byte是全世界最大的 有32 bits 03/28 08:04
bwzhan:我的byte是才只有8 bits (char) 哭哭 >"< 03/28 08:08
ck574b027:我的byte才8bits,看來我該讓賢了。 03/28 11:57
打錯= =
※ 編輯: jasonkd 來自: 122.116.218.4 (03/28 13:59)
uranusjr:00 用 int 顯示不就是 0 嗎, 你的問題在哪 03/28 14:01
hpps:可以用16進位%x來印,這樣就不會有奇怪的符號了 03/28 21:39
Thelink:沒意外int有四個byte,目前fread只修改1個byte,剩下3個byte 03/29 08:21
Thelink:未定義,有可能印出亂碼 03/29 08:22

你可能也想看看

搜尋相關網站