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

标签 c++ c hdf5

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

有更好的方法吗?

最佳答案

是的,属性是写入此信息的方式。

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

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

关于c++ - 如何智能地将多个参数写入一个hdf5文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38157948/

相关文章:

c++ - Windows 7 中的命名管道

c++ - 在 C++ 中正确使用/包含 uint64_t

c - Visual Studio : Callback function problem (__cdecl *)

c - 在 C 中高效地实现三元数据类型的数组

python - 更新 HDF 文件中的一个字段

anaconda - HDF5是否支持并发读取或写入不同文件?

c++ - 类方法中 For Loop 的运行时错误 - 数据结构

c++ - 是否可以在 OpenCL 中并行运行求和计算?

c - 信号及报警功能

python - 使用属性从 H5 文件中过滤 HDF 数据集