Название: чтение структур из файла[Решено] Отправлено: Larry от Октябрь 16, 2012, 15:44 Добрый день, форумчане! Не могу решить задачу и никак не дам ей ладу. Есть типизированный файл. Структура известна - записаны структуры с полями:
Код: struct POSITION_T Пытался читать как и стандартными средствами с++, так и средствами Qt. При попытке прочитать с помощью ifstream, то не могу открыть файл, а при попытке окрыть с помощью QFile, то получаю непонятные данные: 2.04666e+223 -5.12741e-107 Вот слот для загрузки файла: Код: QString fname_qstr = QFileDialog::getOpenFileName(this, tr("Открыть карту"), NULL, tr("map (*.*)")); Название: Re: чтение структур из файла Отправлено: mutineer от Октябрь 16, 2012, 15:46 А записываются данные в файл как?
Название: Re: чтение структур из файла Отправлено: Larry от Октябрь 16, 2012, 15:50 Файл конвертируется из файлов *.mp (карты) в программе на pascal. Доступа к ней не имею. Записывается как типизированный файл. Узнал, что запись идет блоками по 16 байт (2*double)...
Название: Re: чтение структур из файла Отправлено: ssoft от Октябрь 16, 2012, 15:56 Возможно, порядок байт необходимо задать.
По умолчанию Qt использует BigEndian, а для ПК часто родной LitleEndian. Название: Re: чтение структур из файла Отправлено: Igors от Октябрь 16, 2012, 16:03 Возможно, порядок байт необходимо задать. Точнее - QDataStream по умолчанию пишет/читает данные в BigEndian. Надо попробоватьПо умолчанию Qt использует BigEndian, а для ПК часто родной LitleEndian. Код
Название: Re: чтение структур из файла Отправлено: Larry от Октябрь 16, 2012, 16:07 Да спасибо я уже попробовал, и это помогло, большое-большое спасибо :)
|