summaryrefslogtreecommitdiffstats
path: root/examples/h5_write.c
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>1998-02-08 18:38:20 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>1998-02-08 18:38:20 (GMT)
commit35e7a062e26c1a65e571202a6fda0b475e42da00 (patch)
tree2d1e936dae47e19b50b8cfc04998a1b01193bcaa /examples/h5_write.c
parent08cd0cc138444f5981c4b84aaee4c6499bf1873c (diff)
downloadhdf5-35e7a062e26c1a65e571202a6fda0b475e42da00.zip
hdf5-35e7a062e26c1a65e571202a6fda0b475e42da00.tar.gz
hdf5-35e7a062e26c1a65e571202a6fda0b475e42da00.tar.bz2
[svn-r229] New examples have been created in the examples directory:
h5_write.c - stores INT array as INT32 little endian dataset in the HDF5 file. h5_read.c - gets info about the dataset; reads hyperslab from the dataset in the file into 2-dim slice of the 3 dimensional array. h5_compund.c - creates compound dataset and writes it to the file; reads subsets of the dataset. h5_extend_write.c - writes extendable dataset. h5_extend_read.c - gets info about the dataset; reads dataset and one of the chunks.
Diffstat (limited to 'examples/h5_write.c')
-rw-r--r--examples/h5_write.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/h5_write.c b/examples/h5_write.c
new file mode 100644
index 0000000..5a8a39d
--- /dev/null
+++ b/examples/h5_write.c
@@ -0,0 +1,78 @@
+/*
+ * This example writes data to HDF5 file.
+ * Data conversion is performed during write operation.
+ */
+
+#include "hdf5.h"
+
+#define FILE "SDS.h5"
+#define DATASETNAME "IntArray"
+#define NX 5 /* dataset dimensions */
+#define NY 6
+#define RANK 2
+
+main ()
+{
+ hid_t file, dataset; /* file and dataset handles */
+ hid_t datatype, dataspace; /* handles */
+ size_t dimsf[2]; /* dataset dimensions */
+ herr_t status;
+ int data[NX][NY]; /* data to write */
+ int i, j;
+
+/*
+ * Data and output buffer initialization.
+ */
+
+for (j = 0; j < NX; j++) {
+ for (i = 0; i < NY; i++)
+ data[j][i] = i + j;
+}
+ /* 0 1 2 3 4 5
+ 1 2 3 4 5 6
+ 2 3 4 5 6 7
+ 3 4 5 6 7 8
+ 4 5 6 7 8 9 */
+
+/*
+ * Create a new file using H5ACC_OVERWRITE access,
+ * default file creation properties, and default file
+ * access properties.
+ */
+file = H5Fcreate(FILE, H5ACC_DEFAULT, H5C_DEFAULT, H5C_DEFAULT);
+
+/*
+ * Describe the size of the array and create the data space for fixed
+ * size dataset.
+ */
+dimsf[0] = NX;
+dimsf[1] = NY;
+dataspace = H5Pcreate_simple(RANK, dimsf, NULL);
+
+/*
+ * Define datatype for the data in the file.
+ * We will store liitle endian INT32 numbers.
+ */
+datatype = H5Tcopy(H5T_NATIVE_INT32);
+status = H5Tset_order(datatype, H5T_ORDER_LE);
+/*
+ * Create a new dataset within the file using defined dataspace and
+ * datatype and default dataset creation properties.
+ */
+dataset = H5Dcreate(file, DATASETNAME, datatype, dataspace,
+ H5C_DEFAULT);
+
+/*
+ * Write the data to the dataset using default transfer properties.
+ */
+status = H5Dwrite(dataset, H5T_NATIVE_INT, H5P_ALL, H5P_ALL,
+ H5C_DEFAULT, data);
+
+/*
+ * Close/release resources.
+ */
+H5Dclose(dataset);
+H5Pclose(dataspace);
+H5Fclose(file);
+
+}