HDFql 获取组的大小

HDFql Get Size of Group

我想知道如何使用 C++ 和 HDFql 获取组内数据集的数量。目前我已经尝试过这样的事情(受 HDFql 手册启发):

char script[1024];
uint64_t group_size = 0;
sprintf(script, "SHOW my_group SIZE INTO MEMORY %d", HDFql::variableTransientRegister(&group_size));
HDFql::execute(script);

但不幸的是,这根本不起作用。

非常感谢!

解决您的问题的一个可能的解决方案是检索存储在例如组 my_group 中的所有数据集,如下所示:

HDFql::execute("SHOW DATASET my_group/");

然后,使用 HDFql 函数 cursorGetCount 获取找到的数据集数(其中 returns 游标中的元素数)。示例:

std::cout << "Number of datasets: " << HDFql::cursorGetCount();

作为旁注,如果您希望检索存储在组 my_group 和子组中的所有数据集,请执行以下操作(LIKE 选项激活 HDFql 中的递归搜索):

HDFql::execute("SHOW DATASET my_group/ LIKE **");

更多信息请参考HDFql reference manual and quick start.