使用 HDF5 保存要在 C++ 中读取的 MATLAB 结构

Saving MATLAB structures to be read in C++ using HDF5

我正在尝试编写一个 HDF5 文件,该文件将保存一堆在 MATLAB 中创建的结构,然后将在 C++ 中读取。这些结构包含不一定是数字的数据,例如字符串、元胞数组和子结构,因此使用 hdf5write 是无效的。

然而,使用参数'-v7.3'调用save保存到HDF5,那么是否可以在C++/C中读取这些文件并提取数据?这是个好主意吗?

为每个结构创建自定义数据类型并编写自定义 HDF5 编写器是否更好?

如果您的目标是在 C/C++ 和 MATLAB 之间共享通用文件格式,您可以使用 matio library,它可以 read/write 相同的 .mat 格式read/write 直接来自 MATLAB,包括单元格、结构等