SUMMARY: big endian C fread routine

From: Lorne J. Covington <ljc_at_soa.com>
Date: Tue, 17 Sep 1996 08:59:38 -0400

Original post:
>
> We have a set of FORTRAN codes which are set up to function in a heterogeneous
> workstation enviroment. The OSF port of the codes can share binary information
> with other platforms as long as the codes are compiled with the f77 option
> "-convert big_endian" option.
>
> A problem arises in that one of our X11 programs, which has been written in C,
> needs to read some of these FORTRAN written big endian binary files. We can always
> assume that the files are in big endian format.
>
> Does anyone have a set of filters, or a big endian "fread", that we can include in the
C
> source to do the big endian to little endian conversion?

Thanks to the following who responded:
..David Bremner <bremner_at_cs.mcgill.ca>
..Kurt Carlson <SXKAC_at_orca.alaska.edu>
..Serge Munhoven <munhoven_at_olive.msm.ulg.ac.be>
..Kurt Knochner <Kurt.Knochner_at_Physik.TU-Muenchen.DE>
..Ken Teh <teh_at_chinook.phy.anl.gov>

Several of the respondents sent code that showed how to flip long int data, but
none had a solution for floats and doubles. The gist of the reccomendations was
that we would have to handle the conversions on a word by word basis and there is
not a generic solution.

One of the better reccomendations was to write the binary file using XDR filters to
save the file in architecture independent form. We have actual done this with
one of our newer codes, but unfortunatly can not do this with the older code because
the files we need to read already exist in big_endian format.


-- 
Lorne J. Covington, Senior Nuclear Engineer        |Email: ljc_at_soa.com
Studsvik of America                                |(617) 965-1819 (voice)
1087 Beacon St, Suite 301                          |(617) 965-7549 (fax)
Newton, MA 02159                                   |
Received on Tue Sep 17 1996 - 15:44:09 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:47 NZDT