Чтение файла в структуру (C++)

Я пытаюсь прочитать данные из двоичного файла и поместить их в структуру. Первые несколько байтов 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, поэтому в основном второй байт в файле пропускается. Что здесь происходит?

5
задан bitmask 24 March 2012 в 15:29
поделиться