删除或更新HDF5中的数据集?

Bar*_*ark 2 c c++ api hdf5

我想以编程方式更改与HDF5文件中的数据集关联的数据.我似乎找不到按名称删除数据集的方法(允许我再次使用修改后的数据添加数据集)或按名称更新数据集.我正在使用适用于HDF5 1.6.x的C API,但指向任何HDF5 API都会很有用.

Max*_*ert 6

根据用户指南:

HDF5目前不提供从文件中删除数据集或回收已删除对象占用的存储空间的简单机制.

如此简单的删除似乎是不可能的.但该部分仍在继续:

删除数据集并回收其使用的空间可以使用H5Ldelete函数和h5repack实用程序完成.使用该H5Ldelete功能,可以从文件结构中删除指向数据集的链接.删除所有链接后,任何应用程序都无法访问数据集,并且有效地从文件中删除了该数据集.恢复未链接数据集占用空间的方法是将文件的所有对象写入新文件.应用程序无法访问任何未链接的对象,并且不会将其包含在新文件中.可以使用自定义程序或h5repack实用程序将对象写入新文件.