环境是vs2012
代码部分如下,作用是读取调色板信息
fp.seekg(54);//fp是fstream实例
for(int i=0;i<256;i++)
{
Q[i].R=Q[i].G=Q[i].B=Q[i].Reserved=InitValue;
fp.read((char *)(&Q[i]), 4);
}
问题是当 i > 24 时,Q[i]的所有分量都等于InitValue,也就是fp.read根本就没有作用
求解决
------解决思路----------------------
楼主,你确定读入成功?看看每次读取的字节数
fp.read((char *)(&Q[i]), 4); 改成
cout<<fp.read((char *)(&Q[i]), 4);<<endl;
------解决思路----------------------
为什么 不是 seekg(54,ios::beg)