| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Глюк при чтении структуры из файла |
| Автор: AlexNor 23.4.2004, 09:18 |
| Допустим есть такая структура: struct AA { WORD w1; WORD w2; BYTE b1; BYTE b2; int i1; BYTE b3; ... } при чтении инфы из файла в такую структуру значение i1 (и все после неё переменные) отображают неверные значения. Если читаю из файла след. байты: 0x01;0x00;0x02;0x00;0x03;0x04;0x38;0x00;0x00;0x00;0x20;0x00;0x05... то получаю: w1 = 0x01; w2 = 0x02; b1 = 0x03; b2 = 0x04; i1 = 0x00200000; !!!!!<- выравнивание происходит??? b3 = 0x05; Я не пойму это из-за выравнивания или из-за чего? Как от этого можно избавится? Что бы происходило нормальное чтение из файла в структуру. |
| Автор: achmed 23.4.2004, 09:36 |
| не забывайте стаать флаг - бинарный файл |
| Автор: AlexNor 23.4.2004, 09:42 |
| Не понял? А что это за флаг и где он флаг выставляется? ( Я открываю файл API функцией CreateFile(...) ) |
| Автор: bel_nikita 23.4.2004, 09:47 | ||
Попробуй так:
|
| Автор: AlexNor 23.4.2004, 09:51 |
| bel_nikita, щас попробую... |
| Автор: AlexNor 23.4.2004, 10:02 |
| bel_nikita, пасибо!!! получилось! а откуда ты знаеш об этой комманде, где вообще можно надыбать описаие таких команд. |
| Автор: bel_nikita 23.4.2004, 10:06 | ||
http://msdn.microsoft.com/ |
| Автор: AlexNor 23.4.2004, 10:09 |
| MSDN большоооой. |