从二进制/随机访问文件中读取数据
Reading data from a Binary/Random Access File
我有一个二进制格式的文件,其中包含大量数据。
如果我了解文件结构,如何从二进制文件中读取信息,并填充这些结构的记录?
数据很复杂。
我想用Qt来做,但如果需要的话,我也会在C++中做。
感谢您的帮助..
如果二进制文件真的很大,那么如果通过低级读取功能有足够的 RAM 可用,最好将其加载为 (char*) 数组 http://crasseux.com/books/ctutorial/Reading-files-at-a-low-level.html然后你可以解析它。
但这只会帮助您加载大文件,而不是解析复杂的结构。
不确定,但你也可以看看yacc。
这听起来不像 yacc 将是一个解决方案,他不是在尝试解析文件,而是想将二进制格式的数据读取到数据结构中。
您可以读取 中的数据,然后将其映射到与格式匹配的结构。 如果数据很复杂,则可能需要以多种方式在其上放置结构,具体取决于数据布局的工作方式。 因此,基本上将文件读入 char* 或然后选择结构开始的元素,将该元素强制转换为指向 stuct 的指针,然后访问该元素。 没有更多的细节,不可能比这更具体。
http://courses.cs.vt.edu/~cs2604/fall00/binio.html 会对你有所帮助。我从那里学到了东西。(提示始终将数据转换为(char*))。
相关文章:
- 如何在ros2中从rosbag2读取数据
- OpenCV 和从 OutputArrays 或 (Mat) 读取数据
- 使用C++从磁卡读卡器MT188读取数据
- HDF5 简单读取数据集失败
- 嵌套结构,从由空行分隔的文件中读取数据
- 不要从输入队列套接字读取数据
- 从文件中读取数据,操作员>>
- 如何从excel文件中读取数据并存储到变量中?
- C++:从文件中读取x y数据会产生无限循环吗
- 无法通过FT232RL读取数据
- 如何从QNetworkReply读取数据?
- C++ 逐行从文件(包含空格)读取数据
- 通过显示一行星号来创建条形图,该条形图将读取数据的输入文件
- 我们可以从 TXT 文件中读取数据并使用 C 和 C++ 将其保存到 SQL 数据库吗?
- 从多个 tcp 连接读取数据
- 从文本文件中读取数据并删除所有换行符空格,并在 C++ 控制台中显示
- Qt TCP服务器不从客户端读取数据
- 累积从 C++11 中的文件中读取数据的整数
- 从 txt 文件中读取数据的最简单方法
- 从 txt 文件中读取数据的 Getline