fstream结构体出错问题解决
用fstream的read函数读取结构体时,只有结构体中第一个数据变量读取正确,后面的所有数据变量的值都读取错误。
上述问题是单字节内存对齐影响的结果
在结构体开头和结尾加上两行代码即可:
读取结构体
ifstream input(FilePath, ios::in|ios::binary);
BitmapFileHeader bmpFileHeader;//定义结构体对象
input.read((char*)&bmpFileHeader, sizeof(BitmapFileHeader));
//从文本中读取BitmapFileHeader结构体长度的字节,存储到bmpFileHeader对象中