我目前正在学习HDF5,需要弄清楚如何使用C ++向空组添加属性。我知道如何通过HDFView来实现它,但我似乎无法找到任何关于向一个简单组添加属性的文档,只有数据集(这是否可能?)。
在HDFView中,如果您添加一个组,然后右键单击该组并选择"显示属性",将弹出一个新窗口,其中包含' General'和'属性'。在'属性'选项卡,您可以添加多个属性。我基本上想要这样做,但通过代码。
下面的代码将一个组添加到新的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"));
答案 0 :(得分:1)
附加到文件,组,数据集等的属性的操作是H5Location类的成员函数。为了写一个名为" some_attribute"的属性。在您的组中输入double类型,只需调用
double value=42;
DataSpace dspace(H5S_SCALAR);
Attribute att = groupPlatform.createAttribute("some_attribute",PredType::NATIVE_DOUBLE,dspace);
att.write(PredType::NATIVE_DOUBLE,&value);
如果使用更复杂的数据空间,则可以使用更复杂的属性。