相关疑难解决方法(0)

测试组存在于hdf5/c ++中

我打开现有的HDF5文件来追加数据; 我想确保调用的组/A存在后续访问.我正在寻找一种简单的方法来创建/A条件(创建并返回新组,如果不存在,或返回现有组).一种方法是测试/A存在.我怎样才能有效地做到这一点?

根据API文档,我可以这样做:

H5::H5File h5file(filename,H5F_ACC_RDWR);
H5::H5Group grp;
try{
   grp=h5file.openGroup("A");
} catch(H5::Exception& e){
   /* group does not exists, create it */
   grp=h5file.createGroup("A");
}
Run Code Online (Sandbox Code Playgroud)

但明显的丑陋来自这样一个事实,即例外用于传递信息,而这些信息根本不是特例.

H5 :: CommonFG :: getObjinfo,它似乎以这样的方式包装H5Gget_objinfo,C例程的false(不存在)返回值抛出异常; 所以再次出现同样的问题.

在这种情况下,使用C API是否干净,或者是否有一些直接设计用于测试C++ API存在的函数,我忽略了?

c++ hdf5

13
推荐指数
1
解决办法
1538
查看次数

标签 统计

c++ ×1

hdf5 ×1