Я пытаюсь разобрать файл 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 () делает это и как я могу это исправить;
РЕДАКТИРОВАТЬ: Если я недостаточно конкретен, мне нужно прочитать весь фрагмент шестнадцатеричных данных в структуре, а не только магическое число. Я только для примера выбрал магическое число.