Почему fread портит мой порядок байтов?
Я пытаюсь разобрать файл bmp сfread()
и когда я начинаю анализировать, он меняет порядок моих байтов.
typedef struct{
short magic_number;
int file_size;
short reserved_bytes[2];
int data_offset;
}BMPHeader;
...
BMPHeader header;
...
Шестнадцатеричные данные42 4D 36 00 03 00 00 00 00 00 36 00 00 00
; Я загружаю шестнадцатеричные данные в структуруfread(&header,14,1,fileIn);
Моя проблема в том, где должно быть магическое число0x424d //'BM'
fread () переворачивает байты, чтобы быть0x4d42 // 'MB'
Почему fread () делает это и как я могу это исправить;
РЕДАКТИРОВАТЬ: Если я не был достаточно конкретным, мне нужно прочитать весь кусок шестнадцатеричных данных в структуре, а не только магическое число. Я выбрал только магическое число в качестве примера.