我正在尝试使用C ++ API在HDF5中存储一些数据,但有一些要求:
可以存储任意数量的条目,
每个条目具有相同数量的行(int和double类型),
行的数量和类型应在运行时确定。
我认为实现此目标的正确方法是将其作为数据包表,但是example I've been able to find每个条目仅存储一种本机类型。我想存储几种类似于复合数据类型的数据,但是example I found还是不够的,因为它存储了一个结构,该结构不能在运行时编写。有一些例子可以做到这一点吗?还是只是我错过了一些高级API?
最佳答案
您还在寻找答案吗?我无法确切地知道你的追求。
数据包表是数据集的一种特殊形式。数据包表中的记录数可以是无限制的。
由于您提到在编译时为复合数据类型设置结构的大小对您不起作用,因此您可以尝试分离数据并以某种方式将其关联。
孤立的数组可以在运行时设置其等级和大小的方式写入数据集。
HDF文件中的数据可以使用您自己的方法或使用HDF链接进行链接。您可以将各个数组数据记录与匹配的化合物数据(如果有)链接在一起。
希望能有所帮助。