首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取hid_t和H5::DataSet的文件路径以使用H5OCopy

获取hid_t和H5::DataSet的文件路径以使用H5OCopy
EN

Stack Overflow用户
提问于 2020-01-15 13:45:42
回答 1查看 165关注 0票数 1

我在HDF5上使用HDF5包装器库,并希望降至copy,以便有效地将数据集从源HDF5文件复制到目标文件中。(在另一条道路上,但这不是重点)。

我可以访问目的地的低级别ID和路径,但对于源,我只有H5::DataSet C++包装实例,而H5Ocopy() (见下面的原型)需要包含dataset 的源文件的hid_t,并在该源文件中使用的路径。

是否有方法从H5::DataSet实例获取丢失的文件-hid_t和DataSet-路径?

直觉上,我认为一定有,但我找不到他们到那个地步。-DD

PS:从已知的API层开始,很难在API层中显示这些id/路径,因为想要执行H5OCopy的代码在时间和空间上都非常遥远。

代码语言:javascript
运行
复制
H5_DLL herr_t H5Ocopy(
  hid_t src_loc_id, const char *src_name,
  hid_t dst_loc_id, const char *dst_name,
  hid_t ocpypl_id, hid_t lcpl_id
);
EN

回答 1

Stack Overflow用户

发布于 2020-01-15 15:27:03

如果这是您的选择,请看一看HDFql,因为它可以极大地简化将数据集从一个HDF5文件复制到另一个HDF5文件的方法。例如,要将名为dset的数据集从文件one.h5复制到文件two.h5,只需使用HDFql在C++中执行以下操作:

代码语言:javascript
运行
复制
HDFql::execute("COPY DATASET one.h5 dset TO two.h5 dset");

此外,您可以将dset复制到另一个组(从文件two.h5)中,并为数据集提供另一个名称,例如:

代码语言:javascript
运行
复制
HDFql::execute("COPY DATASET one.h5 dset TO two.h5 /group/new_dset");

有关其他信息和示例,请查看HDFql 参考手册

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59752718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档