mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-09 07:32:32 +08:00
2ab2e14bb5
---------------------- ./Makefile.in Running `make distclean' will not fail if one of the subdirectories has already been cleaned. ./config/BlankForm ./config/irix5.3 Cleaned it up more. Added better support/documentation for systems that have more than one compiler. ./config/alpha-dec-osf4.0 [NEW] Added a new config file as a result of testing on Jim Reus's machine. ./test/chunk.c Scaled down the testing range so we can actually run it interactively. ./tools/h5import.c Included <unistd.h> to get rid of warning for close(). ./src/H5detect.c Seg-faults on Linux for some reason when NDEBUG is defined, so I just undef it at the top of the source. ./test/big.c Added a fflush(). ./tools/h5ls.c The `-d' flag now works even when `-v' isn't specified. ./examples/h5_chunk_read.c ./examples/h5_compound.c ./examples/h5_extend_write.c ./examples/h5_group.c ./examples/h5_read.c ./examples/h5_write.c Indented according to hdf5 standards. Fixed compiler warnings
84 lines
2.1 KiB
C
84 lines
2.1 KiB
C
/*
|
|
* This example writes data to the 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
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
hid_t file, dataset; /* file and dataset handles */
|
|
hid_t datatype, dataspace; /* handles */
|
|
hsize_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 H5F_ACC_TRUNC access,
|
|
* default file creation properties, and default file
|
|
* access properties.
|
|
*/
|
|
file = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
|
|
|
/*
|
|
* Describe the size of the array and create the data space for fixed
|
|
* size dataset.
|
|
*/
|
|
dimsf[0] = NX;
|
|
dimsf[1] = NY;
|
|
dataspace = H5Screate_simple(RANK, dimsf, NULL);
|
|
|
|
/*
|
|
* Define datatype for the data in the file.
|
|
* We will store little endian INT numbers.
|
|
*/
|
|
datatype = H5Tcopy(H5T_NATIVE_INT);
|
|
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,
|
|
H5P_DEFAULT);
|
|
|
|
/*
|
|
* Write the data to the dataset using default transfer properties.
|
|
*/
|
|
status = H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
|
|
H5P_DEFAULT, data);
|
|
|
|
/*
|
|
* Close/release resources.
|
|
*/
|
|
H5Sclose(dataspace);
|
|
H5Tclose(datatype);
|
|
H5Dclose(dataset);
|
|
H5Fclose(file);
|
|
|
|
return 0;
|
|
}
|