Я пытаюсь прочитать данные из двоичного файла и поместить их в структуру.
Первые несколько байтов data.bin
таковы:
03 56 04 FF FF FF ...
И моя реализация такова:
#include <iostream>
#include <fstream>
int main()
{
struct header {
unsigned char type;
unsigned short size;
} fileHeader;
std::ifstream file ("data.bin", std::ios::binary);
file.read ((char*) &fileHeader, sizeof header);
std::cout << "type: " << (int)fileHeader.type;
std::cout << ", size: " << fileHeader.size << std::endl;
}
Ожидаемый результат: type: 3, size: 1110
, но для некоторых причина type: 3, size: 65284
, поэтому в основном второй байт в файле пропускается. Что здесь происходит?