使用 HDF5 保存要在 C++ 中读取的 MATLAB 结构
Posted
技术标签:
【中文标题】使用 HDF5 保存要在 C++ 中读取的 MATLAB 结构【英文标题】:Saving MATLAB structures to be read in C++ using HDF5 【发布时间】:2015-11-14 07:41:23 【问题描述】:我正在尝试编写一个 HDF5 文件,该文件将保存在 MATLAB 中创建的一堆结构,然后将在 C++ 中读取这些结构。这些结构包含不一定是数字的数据,例如字符串、元胞数组和子结构,因此使用 hdf5write
已被淘汰。
但是,使用参数'-v7.3'
调用save
会保存到HDF5,那么是否可以在C++/C 中读取这些文件并提取数据?这是个好主意吗?
为每个结构创建自定义数据类型并编写自定义 HDF5 编写器是否更好?
【问题讨论】:
【参考方案1】:如果您的目标是在 C/C++ 和 MATLAB 之间共享通用文件格式,您可以使用 matio library,它可以读取/写入您直接从 MATLAB 读取/写入的相同 .mat 格式,包括单元格,结构等。
【讨论】:
以上是关于使用 HDF5 保存要在 C++ 中读取的 MATLAB 结构的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C++ API 在 HDF5 文件中写入/读取锯齿状数组?