[問題] 存進圖片檔是否要把值轉成char型態

作者: unixxxx (皓皓)   2015-01-29 23:01:09
檔案指標 ptr
有一個int a[32*32] 裡面存數字代表像素
可否直接
for(int i=0;i<32*32;i++)
fwrite(&a[i],sizeof(char),1,ptr);
如果寫sizeof(int)會失敗 寫char就可以
可是這樣會不會有型態轉換的問題?!
怕跑出來的圖是不對的
作者: LPH66 (-6.2598534e+18f)   2015-01-30 00:11:00
我的水晶球顯示你或許是用"w"開檔, 用"wb"看看?
作者: Killercat (殺人貓™)   2015-01-30 00:19:00
我的水晶頭微微點了個頭,判定需2,命中機率1d6+1
作者: BlazarArc (Midnight Sun)   2015-01-30 00:23:00
本板培育出許多隔空抓藥專家
作者: suhorng ( )   2015-01-30 00:32:00
話說假設是 32-bit 平台或 LP64一個 sizeof(int) = 4, 一個像素 24-bit, 我有什麼誤會嗎而且是有 RGB 還是只有 256 灰階?
作者: Killercat (殺人貓™)   2015-01-30 00:35:00
不過說真的 好歹給個errno咩... 用ferror(ptr)看看吧用linux sdk出的包 給個error 方便自己 也方便別人 :P
作者: Push5F (帳號已賣)   2015-01-30 01:33:00
我的水晶球顯示你在睡覺了
作者: andy410061 (高坂桐乃は俺の嫁)   2015-01-30 05:05:00
我的水晶球顯示你還沒起來
作者: anyoiuo   2015-01-30 17:33:00
兩者不同唷int a[32x32]大小是32*32*sizeof(int)For迴圈那方式是在&a[i]輸出1個byte而第二個方式i看起來是0是在&a[0]處印32byte32*32byte才對簡單說有個int a[2] = {0x00010203, 0x04050607}用兩種方法會看到一個03 02,一個03 07讀寫BMP應該要考慮檔案的Header像這樣http://www.codeshare.io/5G23Q

Links booklink

Contact Us: admin [ a t ] ucptt.com