0

我有一个包含大量数据的二进制格式文件。

如果我了解文件结构,如何从二进制文件中读取信息并填充这些结构的记录?

数据很复杂。

我想用 Qt 来做,但如果需要,我也会用 C++ 来做。

谢谢你的帮助..

4

3 回答 3

0

如果二进制文件真的很大,那么如果通过低级读取函数http://crasseux.com/books/ctutorial/Reading-files-at-a-low有足够的 RAM 可用,最好将其加载为 (char*) 数组-level.html 然后你可以解析它。

但这只会帮助您加载大文件,而不是解析复杂的结构。

不确定,但你也可以看看 yacc。

于 2013-01-22T08:51:52.643 回答
0

这听起来不像 yacc 将是一个解决方案,他没有尝试解析文件,他想将二进制格式的数据读取到数据结构中。

您可以读取数据,然后将其映射到与格式匹配的结构。如果数据很复杂,您可能需要根据数据布局的工作方式以多种方式在其上放置结构。因此,基本上将文件读入 char* 或然后选择结构开始的元素,将该元素转换为指向您的结构的指针,然后访问该元素。没有更多细节,不可能比这更具体。

于 2017-08-10T14:02:38.670 回答
-1

http://courses.cs.vt.edu/~cs2604/fall00/binio.html会对你有所帮助。我从那里学到了。(提示始终将您的数据转换为 (char*) )。

于 2013-01-22T08:36:59.403 回答