помогите прочитать бинарный файл |
Здравствуйте, гость ( Вход | Регистрация )
помогите прочитать бинарный файл |
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 ЗЫ программа должна быть кросс-платформленной.. тоесть длинну типов надо както явно задавать.. |
|
|
sidsukana |
31.1.2012, 17:14
Сообщение
#2
|
Участник Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: 2 |
float это и есть 4 байтовое число с плавающей точкой - ака float32
double это 8 байтовое число с плавающей точкой - ака float64 stream.setFloatingPointPrecision(QDataStream::SinglePrecision); задает стримеру читать и записывать float как 4 байтовое, и double как 8 байтовое. и c это quint8 а не float. В первом цикле я доставал посимвольно через unsigned char (uint8). Во втором цикле float должен доставаться. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 4:51 |