我试图解析一个bmp文件,fread()当我开始解析时,它会反转我的字节顺序.
typedef struct{
short magic_number;
int file_size;
short reserved_bytes[2];
int data_offset;
}BMPHeader;
...
BMPHeader header;
...
Run Code Online (Sandbox Code Playgroud)
十六进制数据是42 4D 36 00 03 00 00 00 00 00 36 00 00 00; 我正在将十六进制数据加载到struct中fread(&header,14,1,fileIn);
我的问题是幻数应该是0x424d //'BM'fread()它会翻转字节0x4d42 // 'MB'
为什么fread()会这样做,我该如何解决它;
编辑:如果我不够具体,我需要将整个十六进制数据块读入结构,而不仅仅是幻数.我只选择了幻数作为例子.