0

我目前正在学习 HDF5,需要弄清楚如何使用 C++ 将属性添加到空组。我知道如何通过 HDFView 做到这一点,但我似乎找不到任何关于将属性添加到简单组的文档,只有数据集(这甚至可能吗?)。

在 HDFView 中,如果您添加一个组,然后右键单击该组并选择“显示属性”,将弹出一个新窗口,其中包含“常规”和“属性”选项卡。在“属性”选项卡中,您可以添加多个属性。我基本上想这样做,但是通过代码。

我下面的代码将一个组添加到一个新的 H5 文件中:

//Create a new file using default properties
H5File file("NewH5.h5", H5F_ACC_TRUNC);

//Create PLATFORM_t and SONAR_t groups in the file
Group groupPlatform(file.createGroup("/PLATFORM_t"));
4

1 回答 1

1

对附加到文件、组、数据集等的属性的操作是H5Location类的成员函数。为了在您的组中编写一个名为“some_attribute”的双精度属性,您只需调用

double value=42;
DataSpace dspace(H5S_SCALAR);
Attribute att = groupPlatform.createAttribute("some_attribute",PredType::NATIVE_DOUBLE,dspace);
att.write(PredType::NATIVE_DOUBLE,&value);

如果您使用更复杂的数据空间,则可以使用更复杂的属性。

于 2016-02-24T10:12:33.467 回答