【发布时间】:2012-11-28 15:19:06
【问题描述】:
我正在从 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);
这也失败了。如果有人能对这个问题有所了解,将不胜感激。
干杯, 卢卡斯
【问题讨论】: