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