У меня есть файл в двоичном формате с большим количеством данных.
Если у меня есть знания о структуре файла, как мне прочитать информацию из двоичного файла и заполнить запись этих структур?
Данные сложны.
Я хотел бы сделать это с Qt, но я бы сделал это и на C ++, если это необходимо.
Спасибо за вашу помощь..
http://courses.cs.vt.edu/~cs2604/fall00/binio.html будет помогать вам. Я узнал оттуда. (подсказка всегда приведёт ваши данные как (char *)).
Если двоичный файл действительно большой, то лучше загрузить его как массив (char *), если достаточно памяти доступно через функцию чтения низкого уровня http://crasseux.com/books/ctutorial/Reading-files-at-a-low-level.html
и тогда вы сможете разобрать его.
Но это только поможет вам загружать большие файлы, а не разбирать сложные структуры.
Не уверен, но вы также можете взглянуть на YACC.
Это не похоже на то, что yacc будет решением, он не пытается проанализировать файл, он хочет прочитать данные в двоичном формате в структуру данных.
Вы можете прочитать данные и затем отобразить их в структуре, которая соответствует формату. Если данные сложны, вам может потребоваться наложить структуры на них различными способами в зависимости от того, как работает макет данных. Поэтому, в основном, прочитайте файл в char * или и затем выберите элемент, с которого начинается ваша структура, приведите этот элемент к указателю на вашу структуру и затем получите доступ к элементу. Без более подробной информации невозможно быть более конкретным, чем это.