Im пытается разобрать файл 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() делает это и как я могу его исправить,
EDIT: Если я недостаточно определен, мне нужно прочитать весь фрагмент шестнадцатеричных данных в структуре, а не только магическое число. В качестве примера я выбрал только магическое число.