[问题] 存进图片档是否要把值转成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