如何在没有 MATLAB 帮助的情况下用 C++ 读取 mat 文件 API

How to read mat file in C++ without help of MATLAB API

我有一个带有嵌套结构的 mat 文件。我附上了一张图片以便更好地理解。

我尝试以下程序:
1.将mat文件转成hdf5格式。 (使用任何语言)
2.读取C++中的hdf5文件。

但问题是我无法将 mat 文件转换为 hdf5。 有没有办法在没有 MATLAB 帮助的情况下将 .mat 文件转换为 .hdf5 文件或在 C++ 中读取 mat 文件API?

Matlab version: R2018b
Windows version: Windows 10 64 bit

如果您使用 -v7.3 标志将数据保存在 MATLAB 中,则 MAT-file 将是一个 HDF5 文件。见 the documentation:

Version 7.3 MAT-files use an HDF5 based format that requires some overhead storage to describe the contents of the file. For cell arrays, structure arrays, or other containers that can store heterogeneous data types, Version 7.3 MAT-files are sometimes larger than Version 7 MAT-files.

save filename CALIBRATION -v7.3