我正在尝试使用 C++ API 在 HDF5 中存储一些数据,有几个要求:
- 可以存储任意数量的条目,
- 每个条目都有相同数量的行(类型为 int 和 double),
- 行的数量和类型应该在运行时确定。
我认为实现它的正确方法是作为数据包表,但是 example I've been able to find每个条目只存储一种 native 类型。我想存储几个,类似于复合数据类型,但又是 example I found是不够的,因为它存储了一个无法在运行时编写的结构。有没有这样做的例子?或者只是我错过的一些高级 API?
最佳答案
您还在寻找答案吗?我无法弄清楚你到底在追求什么。
数据包表是一种特殊形式的数据集。分组表中的记录数可以是无限的。
由于您提到在编译时为复合数据类型设置结构的大小对您不起作用,您可能会尝试分离数据并以某种方式关联它。
孤立的数组可以写入数据集,其等级和大小在运行时设置。
可以使用您自己的方法或使用 HDF 链接链接 HDF 文件中的数据。您可以将各个阵列数据记录连同匹配的复合数据(如果有)链接在一起。
希望对您有所帮助。
关于c++ - 具有异构行的数据包表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720223/