使用 HDF5 C++ 设置数据集属性应用程序编程接口
我在 HDF5 1.8.7 中使用 HDF5 C++ API,并希望使用 H5::Attribute 实例在 H5::DataSet 实例中设置几个标量属性,但找不到任何示例。使用 C API 非常简单:
/* Value of the scalar attribute */
int point = 1;
/*
* Create scalar attribute for the dataset, my_dataset.
*/
aid2 = H5Screate(H5S_SCALAR);
attr2 = H5Acreate(my_dataset, "Integer attribute", H5T_NATIVE_INT, aid2,H5P_DEFAULT);
/*
* Write scalar attribute to my_dataset.
*/
ret = H5Awrite(attr2, H5T_NATIVE_INT, &point);
/*
* Close attribute dataspace.
*/
ret = H5Sclose(aid2);
/*
* Close attribute.
*/
ret = H5Aclose(attr2);
由于某些奇怪的原因,C++ API 中的 H5::Attribute 和 H5::DataSet 类似乎缺少必要的方法。如果有人能提供一个使用 C++ API 的具体示例,我将非常感激。
I'm using HDF5 C++ API in HDF5 1.8.7 and would like to use an H5::Attribute instance to set a couple of scalar attributes in an H5::DataSet instance, but cannot find any examples. It's pretty cut and dry using the C API:
/* Value of the scalar attribute */
int point = 1;
/*
* Create scalar attribute for the dataset, my_dataset.
*/
aid2 = H5Screate(H5S_SCALAR);
attr2 = H5Acreate(my_dataset, "Integer attribute", H5T_NATIVE_INT, aid2,H5P_DEFAULT);
/*
* Write scalar attribute to my_dataset.
*/
ret = H5Awrite(attr2, H5T_NATIVE_INT, &point);
/*
* Close attribute dataspace.
*/
ret = H5Sclose(aid2);
/*
* Close attribute.
*/
ret = H5Aclose(attr2);
For some strange reason, the H5::Attribute and H5::DataSet classes in the C++ API seem to be missing the necessary methods. If anyone can come up with a concrete example using the C++ API, I'd be very appreciative.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您有一个 Dataset 对象 ds...
添加一个 string 属性...
添加一个 int 属性...
if you have a Dataset object ds...
adding a string attribute...
adding an int attribute...