如何智能地将多个参数写入hdf5文件?

时间:2016-07-02 08:05:19

标签: c++ c hdf5

我正在尝试使用hdf5来写出分子动力学模拟产生的(x,y,z)坐标。 API对于如何执行此操作非常清楚。我的问题是关于编写模拟的参数。我需要在hdf5文件中写入大量的常量,比如大约100。我认为这就是属性的用途。那是对的吗?我的问题是属性API对此有些麻烦。我必须创建大量的标量属性,指定它们的类型和维度(大多数时候是1),然后编写它们。我必须写很多代码。常量可以是intfloatunsigned int,有时也是我创建的一些自定义类型。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

是的,属性是写这些信息的方式。

API看起来相当复杂,因为属性将大部分语义共享为数据集。您可以在可以使用数据集指定的属性中使用任何类型或形状。关于唯一没有的属性属性是压缩和分块。 (属性也不能包含属性!)

为了减少编码麻烦,您可以创建一个辅助函数。如果您知道(例如)所有属性都是4字节的小端标量,那么您的帮助函数只需要父ID,名称和值。