我正在从 Microsoft Visual C++ 2008 中的 H5 文件中读取数据集。对于 int 和 double 类型的数据,一切正常,但是在遇到字符串时遇到了问题。在 H5 文件中,我有 18 个字符串,每个字符串的长度为 24。我的代码如下;
StrType strdatatype(PredType::C_S1, 24);
char *buffer1[18];
DataSet datasetCurveNames = riskFactorsH5.openDataSet("/gstrCurveNames");
datasetCurveNames.read(&buffer1, strdatatype);
在执行时,缓冲区 1 充满了错误的指针。作为替代方案,我尝试使用 H5T_VARIABLE 通过修改来管理可变长度字符串:
StrType strdatatype(PredType::C_S1, H5T_VARIABLE);
这也失败了。如果有人能对这个问题有所了解,将不胜感激。
干杯,卢卡斯