diff options
-rw-r--r-- | examples/h5_group.c | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/examples/h5_group.c b/examples/h5_group.c index 662d24c..7b2dbe9 100644 --- a/examples/h5_group.c +++ b/examples/h5_group.c @@ -1,3 +1,9 @@ +/* + * This example shows how to create groups within the file and + * datasets within the file and groups. + */ + + #include "hdf5.h" @@ -12,6 +18,7 @@ main() herr_t status; size_t dims[2]; + size_t size[1]; /* * Create a file. @@ -27,24 +34,51 @@ status = H5Gclose(dir); dir = H5Gcreate(file,"/FloatData", 0); status = H5Gclose(dir); +/* + * Create dataspace for the character string + */ +size[0] = 80; +dataspace = H5Pcreate_simple(1, size, NULL); + +/* + * Create dataset "String" in the root group. + */ +dataset = H5Dcreate(file, "String", H5T_NATIVE_CHAR, dataspace, H5C_DEFAULT); +H5Dclose(dataset); + +/* + * Create dataset "String" in the /IntData group. + */ +dataset = H5Dcreate(file, "/IntData/String", H5T_NATIVE_CHAR, dataspace, + H5C_DEFAULT); +H5Dclose(dataset); + /* - * Create dataset in the /IntData group by specifying full path. + * Create dataset "String" in the /FloatData group. + */ +dataset = H5Dcreate(file, "/FloatData/String", H5T_NATIVE_CHAR, dataspace, + H5C_DEFAULT); +H5Pclose(dataspace); +H5Dclose(dataset); + +/* + * Create IntArray dataset in the /IntData group by specifying full path. */ dims[0] = 2; dims[1] = 3; dataspace = H5Pcreate_simple(RANK, dims, NULL); -dataset = H5Dcreate(file, "/IntData/IntArray", H5T_NATIVE_INT, dataspace, H5C_DEFAULT); - +dataset = H5Dcreate(file, "/IntData/IntArray", H5T_NATIVE_INT, dataspace, + H5C_DEFAULT); H5Pclose(dataspace); H5Dclose(dataset); /* - * Set current group to /IntData and attach to the dataset IntArray. + * Set current group to /IntData and attach to the dataset String. */ status = H5Gset (file, "/IntData"); -dataset = H5Dopen(file, "IntArray"); -if (dataset > 0) printf("IntArray dataset in /IntData group is found\n"); +dataset = H5Dopen(file, "String"); +if (dataset > 0) printf("String dataset in /IntData group is found\n"); H5Dclose(dataset); /* @@ -53,31 +87,30 @@ H5Dclose(dataset); status = H5Gset (file, "/FloatData"); /* - * Create two datasets + * Create two datasets FlatArray and DoubleArray. */ dims[0] = 5; dims[1] = 10; dataspace = H5Pcreate_simple(RANK, dims, NULL); dataset = H5Dcreate(file, "FloatArray", H5T_NATIVE_FLOAT, dataspace, H5C_DEFAULT); - H5Pclose(dataspace); H5Dclose(dataset); dims[0] = 4; dims[1] = 6; dataspace = H5Pcreate_simple(RANK, dims, NULL); -dataset = H5Dcreate(file, "DoubleArray", H5T_NATIVE_DOUBLE, dataspace, H5C_DEFAULT); - +dataset = H5Dcreate(file, "DoubleArray", H5T_NATIVE_DOUBLE, dataspace, + H5C_DEFAULT); H5Pclose(dataspace); H5Dclose(dataset); /* - * Attach to /FloatData/DoubleArray dataset + * Attach to /FloatData/String dataset. */ -dataset = H5Dopen(file, "/FloatData/DoubleArray"); -if (dataset > 0) printf("/FloatData/DoubleArray dataset is found\n"); +dataset = H5Dopen(file, "/FloatData/String"); +if (dataset > 0) printf("/FloatData/String dataset is found\n"); H5Dclose(dataset); H5Fclose(file); |