[問題] fread and unsigned char and >>
看板C_and_CPP (C/C++)作者shiengchyi (上班族之朝九晚六?!)時間15年前 (2011/05/16 16:15)推噓1(1推 0噓 10→)留言11則, 3人參與討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Compiler: GNU GCC
OS : Linux SUSE
CPU : Intel 64bits
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
問題是這樣子的,我宣告了一個unsigned char*,然後搭配fread,
從檔案當中讀取binary data,
不過因為還要做一些處理,所以unsigned char* 的空間配置的比讀出的資料大,
大概的程式碼如下:
unsigned char *buf;
buf = (unsigned char *)malloc(2); //配置2 bytes的空間
fread(buf, 1, 1, binFile); //從binFile當中讀出1 byte到 buf
問題一:讀出的資料是放在buf的第一個byte,還是第二個byte?
問題二:小弟該怎麼樣才能夠以Binary的方式顯示 buf的內容(使用printf顯示)?
以上兩個問題有請大大解答,感謝~
看來小弟我對bitwise opterator的認知有錯誤 >"<
其實接下來要做的處理是 >> 4,也就是說將buf的內容往右移4個bits,
程式碼如下:
*buf = (unsigned char)((unsigned int)buf >> 4);
但是小弟使用
printf("%u",buf);
去看結果,發現有沒有位移的內容都一樣,難道說不這樣子使用嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.71.22
→
05/16 16:18, , 1F
05/16 16:18, 1F
→
05/16 16:18, , 2F
05/16 16:18, 2F
→
05/16 16:20, , 3F
05/16 16:20, 3F
推
05/16 16:27, , 4F
05/16 16:27, 4F
※ 編輯: shiengchyi 來自: 60.251.71.22 (05/16 16:40)
→
05/16 16:45, , 5F
05/16 16:45, 5F
→
05/16 17:40, , 6F
05/16 17:40, 6F
→
05/16 17:55, , 7F
05/16 17:55, 7F
→
05/16 17:56, , 8F
05/16 17:56, 8F
→
05/16 17:58, , 9F
05/16 17:58, 9F
→
05/16 18:02, , 10F
05/16 18:02, 10F
→
05/16 18:05, , 11F
05/16 18:05, 11F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章