2006-06-26 22:41:59 +08:00
|
|
|
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
2007-02-07 22:56:24 +08:00
|
|
|
* Copyright by The HDF Group. *
|
2006-06-26 22:41:59 +08:00
|
|
|
* 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 *
|
2007-02-07 22:56:24 +08:00
|
|
|
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
|
|
|
|
* access to either file, you may request a copy from help@hdfgroup.org. *
|
2006-06-26 22:41:59 +08:00
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
2008-09-16 23:52:51 +08:00
|
|
|
/*
|
2006-06-26 22:41:59 +08:00
|
|
|
This program reads binary output from h5dump (-b option).
|
|
|
|
To use change the following 3 symbols accordingly.
|
2006-09-26 23:47:36 +08:00
|
|
|
For example, to read 2 elements of a float type , define
|
2006-06-26 22:41:59 +08:00
|
|
|
|
2006-09-26 23:47:36 +08:00
|
|
|
#define NELMTS 2
|
2006-06-26 22:41:59 +08:00
|
|
|
#define TYPE float
|
|
|
|
#define FORMAT "%f "
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2006-09-26 23:47:36 +08:00
|
|
|
#define NELMTS 6
|
2006-06-26 22:41:59 +08:00
|
|
|
#define TYPE int
|
|
|
|
#define FORMAT "%d "
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
* Function: usage
|
|
|
|
*
|
|
|
|
* Purpose: Prints a usage message on stderr and then returns.
|
|
|
|
*
|
|
|
|
* Return: void
|
|
|
|
*
|
2007-03-13 00:36:34 +08:00
|
|
|
* Programmer: Pedro Vicente Nunes
|
2006-06-26 22:41:59 +08:00
|
|
|
*
|
|
|
|
* 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 );
|
2008-09-16 23:52:51 +08:00
|
|
|
|
2006-06-26 22:41:59 +08:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|