Я пытаюсь прочитать в двоичном файле. Проблема заключается в том, что создатель файла не потребовалось времени, чтобы правильно выравнивать структуры данных с их естественными границами, и все было плотно упаковано. Это затрудняет чтение данных, используя конструкции C ++. < /P>
Есть ли способ заставить структуру < /code> быть плотной?
Приведенная выше структура составляет 8 байтов: 2 для короткого a , 2 для прокладки, 4 для int b . Однако на диске данные составляют всего 6 байтов (не имея 2 байта прокладки для выравнивания) < /p>
Пожалуйста, имейте в виду, что фактические структуры данных - это тысячи байтов и множество полей, включая пару массивов, поэтому я бы предпочел не читать каждое поле.>
Подробнее здесь:
https://stackoverflow.com/questions/210 ... ck-tightly