Me pregunto cómo obtener la cantidad de conjuntos de datos dentro de un grupo usando C ++ y HDFql. Actualmente he probado algo como esto (inspirado en el manual 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);

Pero, lamentablemente, esto no funciona en absoluto.

¡Muchas gracias!

0
Mr Squid 4 oct. 2019 a las 07:11

1 respuesta

La mejor respuesta

Una posible solución para resolver su problema es recuperar todos los conjuntos de datos almacenados en, por ejemplo, el grupo my_group de esta manera:

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

Y luego, obtenga el número de conjuntos de datos encontrados usando la función HDFql cursorGetCount (que devuelve el número de elementos en el cursor). Ejemplo:

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

Como nota al margen, si desea recuperar todos los conjuntos de datos almacenados en el grupo my_group y en subgrupos, haga lo siguiente (la opción LIKE activa la búsqueda recursiva en HDFql):

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

Para obtener más información, consulte el manual de referencia de HDFql y el inicio rápido.

1
SOG 4 oct. 2019 a las 10:35