我有一个包含大量数据的二进制格式文件。
如果我了解文件结构,如何从二进制文件中读取信息并填充这些结构的记录?
数据很复杂。
我想用 Qt 来做,但如果需要,我也会用 C++ 来做。
谢谢你的帮助..
我有一个包含大量数据的二进制格式文件。
如果我了解文件结构,如何从二进制文件中读取信息并填充这些结构的记录?
数据很复杂。
我想用 Qt 来做,但如果需要,我也会用 C++ 来做。
谢谢你的帮助..
如果二进制文件真的很大,那么如果通过低级读取函数http://crasseux.com/books/ctutorial/Reading-files-at-a-low有足够的 RAM 可用,最好将其加载为 (char*) 数组-level.html 然后你可以解析它。
但这只会帮助您加载大文件,而不是解析复杂的结构。
不确定,但你也可以看看 yacc。
这听起来不像 yacc 将是一个解决方案,他没有尝试解析文件,他想将二进制格式的数据读取到数据结构中。
您可以读取数据,然后将其映射到与格式匹配的结构。如果数据很复杂,您可能需要根据数据布局的工作方式以多种方式在其上放置结构。因此,基本上将文件读入 char* 或然后选择结构开始的元素,将该元素转换为指向您的结构的指针,然后访问该元素。没有更多细节,不可能比这更具体。
http://courses.cs.vt.edu/~cs2604/fall00/binio.html会对你有所帮助。我从那里学到了。(提示始终将您的数据转换为 (char*) )。