在HDF 5 C++ A{O}中创建硬/软链接

wrrgggsh  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(78)

我有一个H5::数据集,我不想让它从几个H5::组访问。我知道这是可能的使用硬链接或软链接,但我完全不知道如何使用C++ API添加此链接。
在Python中我们可以

grp["name"] = h5py.SoftLink(target_path)

但我在C++中找不到类似的代码。
我如何才能做到这一点?

qjp7pelc

qjp7pelc1#

如果您没有绑定到特定的API,您可能需要尝试HDFql,因为它可以极大地减轻用户对HDF5底层细节的关注。在C++中使用HDFql,您的问题可以通过以下方式解决:

// create an HDF5 file named 'test.h5' and use (i.e. open) it 
HDFql::execute("create and use file test.h5");

// create a dataset named 'dset' of data type integer which stores value '10'
HDFql::execute("create dataset dset as int values(10)");

// create three groups named 'grp1', 'grp2' and 'grp3'
HDFql::execute("create group grp1, grp2, grp3");

// create a (soft) link named 'lnk' in groups 'grp1', 'grp2' and 'grp3' (all these links point to dataset 'dset')
HDFql::execute("create link grp1/lnk, grp2/lnk, grp3/lnk to /dset, /dset, /dset");

相关问题