相关疑难解决方法(0)

为什么fread会搞乱我的字节顺序?

我试图解析一个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()会这样做,我该如何解决它;

编辑:如果我不够具体,我需要将整个十六进制数据块读入结构,而不仅仅是幻数.我只选择了幻数作为例子.

c struct bmp fread

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

bmp ×1

c ×1

fread ×1

struct ×1