помогите прочитать бинарный файл |
Здравствуйте, гость ( Вход | Регистрация )
помогите прочитать бинарный файл |
menand |
31.1.2012, 15:28
Сообщение
#1
|
Студент Группа: Участник Сообщений: 21 Регистрация: 31.1.2012 Пользователь №: 3171 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть файл.
в начале 8 байт - текста (ascii), затем float64 число, затем int32 число, затем массив float32 длинна которого - в int32 числе (которое только что считали) (ну и т.д., дальше уже по аналогии разберусь). Собственно вопрос - как отрыть такой файл и читать с него данные? Тоесть может ли кто-нибудь привести пример чтения: 1) 8 байт текста 2) флоат64 3) инт32 4) for(int i=0;i<N;i++) читать флоат32 ЗЫ программа должна быть кросс-платформленной.. тоесть длинну типов надо както явно задавать.. |
|
|
menand |
31.1.2012, 17:02
Сообщение
#2
|
Студент Группа: Участник Сообщений: 21 Регистрация: 31.1.2012 Пользователь №: 3171 Спасибо сказали: 0 раз(а) Репутация: 0 |
не.. просто 8 байт - 8 букв, потом сразу флоат, потом сразу инт, потом сразу массив флотов и т.д.
во! последний варинт замечательно читает строки и целые типы! проблема - что есть qint32 но нет qfloat32 (тобишь кросс-платформленного 4х байтового числа с плавающей запятой) итак... for(int i=0;i<4;i++){ stream >> c; qDebug()<<c; } выдаёт 0 128 149 67... если сразу во флот читать - то просто 0... а должно быть 299.0 |
|
|
Текстовая версия | Сейчас: 26.11.2024, 19:55 |