【发布时间】:2017-02-11 20:21:12
【问题描述】:
我正在尝试在 C++ 中读取 bmp 文件的宽度和高度。宽度和高度是我的 bmp 文件的 512。 18. byte是bmp文件的宽度值。
我的代码如下所示:
int main() {
char header[54];
ifstream bmp;
bmp.open("image.bmp", ios::in | ios::binary);
if (!bmp) {
cout << "Error" << endl;
system("PAUSE");
exit(1);
}
bmp.read(header, 54);
char a = header[18];
int b = *(int *)&header[18];
system("PAUSE");
}
a 是 '\0' 时,b 如何变成 512?对不起我的英语不好。
【问题讨论】:
-
不太清楚你在问什么...
-
需要注意的两件事 1) 文件和平台上
int的大小相同,2) 文件中值的字节序与平台的字节序匹配.