Discovering what is in an HDF5 file

HDFView and h5dump are standalone tools which cannot be called within an application, and using H5Dopen and H5Dread require that you know the name of the HDF5 dataset. How would an application that has no prior knowledge of an HDF5 file be able to determine or discover the contents of it, much like HDFView and h5dump?

The answer is that there are ways to discover the contents of an HDF5 file, by using the H5G, H5L and H5O APIs:

 Interface routines that simplify the process:

Programming Examples

Using H5Literate, H5Lvisit and H5Ovisit:

Under HDF5 Examples you will find the examples By API, where examples of using H5Literate and H5Ovisit/H5Lvisit are included.

The h5ex_g_traverse example traverses a file using H5Literate:   C   F90

The h5ex_g_visit example traverses a file using H5Ovisit and H5Lvisit:    C    F90