summaryrefslogtreecommitdiffstats
path: root/tools/h5dump/binread.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/h5dump/binread.c')
-rw-r--r--tools/h5dump/binread.c100
1 files changed, 100 insertions, 0 deletions
diff --git a/tools/h5dump/binread.c b/tools/h5dump/binread.c
new file mode 100644
index 0000000..d3b43a9
--- /dev/null
+++ b/tools/h5dump/binread.c
@@ -0,0 +1,100 @@
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/*
+ This program reads binary output from h5dump (-b option).
+ To use change the following 3 symbols accordingly.
+ For example, to read 6 elements of a float type from a file "out.dat", define
+
+ #define NELMTS 6
+ #define TYPE float
+ #define FORMAT "%f "
+
+*/
+
+#define NELMTS 2
+#define TYPE int
+#define FORMAT "%d "
+
+/*-------------------------------------------------------------------------
+ * Function: usage
+ *
+ * Purpose: Prints a usage message on stderr and then returns.
+ *
+ * Return: void
+ *
+ * Programmer: Pedro Vicente Nunes
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void
+usage (void)
+{
+ fprintf(stderr, "\
+ usage: binread FILE_NAME\n");
+}
+
+/*-------------------------------------------------------------------------
+ * Function: main
+ *
+ * Purpose: main program.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int
+main (int argc, const char *argv[])
+{
+ FILE *stream;
+ int numread;
+ TYPE buf[NELMTS];
+ size_t i, nelmts = NELMTS;
+ char *fname=NULL;
+
+ if (argc != 2)
+ {
+ usage();
+ exit(1);
+ }
+
+ fname = strdup(argv[1]);
+
+ if( (stream = fopen(fname, "rb" )) != NULL )
+ {
+ numread = fread( buf, sizeof( TYPE ), nelmts, stream );
+ printf( "Number of items read = %d\n", numread );
+
+ for (i = 0; i < nelmts; i++)
+ {
+ printf(FORMAT,buf[i]);
+ }
+ printf("\n");
+
+ fclose( stream );
+ }
+ else
+ printf( "File %s could not be opened\n",fname );
+
+ free(fname);
+
+ return 0;
+}
+