写bmp图片的有关问题?

写bmp图片的问题????
我用fwrite函数写图片的时候,总是写出的格式画图板不认识,写法如下:
if((ff=fopen( "xin.bmp ", "a "))==NULL)
{
cout < < "can   not   open ";
}


fwrite(pp,1,1078,ff);//pp是图象头的数据
fwrite(data11,1,128*91,ff);//data11是图象数据
其中图象头和图象数据都对,都符合位图的格式,因为是我读的图片的数据,而且已验证,可用fwrite写的时候,得到的文件格式画图板不认识!!
请大家帮忙指正!!

------解决方案--------------------
if((ff=fopen( "xin.bmp ", "ab "))==NULL)
{
cout < < "can not open ";
}

试下。

------解决方案--------------------
if((ff=fopen( "xin.bmp ", "a "))==NULL)
"a "这是把数据追加文件尾

fwrite(data11,1,128*91,ff);//data11是图象数据:每个像素信息你用的是多少位的?32位还是24位?如果用的是24位的,得分成三个字节来单独写。
------解决方案--------------------
fwrite 操作函数要求以 2进制方式操作文件:
if((ff=fopen( "xin.bmp ", "ab "))==NULL) //b, 2进制操作方式

否则fwrite写文件的字符数会出现误差,
导致结果不正确。
------解决方案--------------------
Microsoft的BUG
http://community.****.net/Expert/topic/5504/5504186.xml?temp=.2061273