Re: [C/Fortran] writing "big" binary files issue...
  Home FAQ Contact Sign in
comp.lang.fortran only
 
Advanced search
POPULAR GROUPS

more...

comp.lang.fortran Profile…
 Up
Re: [C/Fortran] writing "big" binary files issue...         


Author: Dr Ivan D. Reid
Date: Jul 22, 2008 09:52

On Tue, 22 Jul 2008 17:28:50 +0200, fred
wrote in <87tzeiuedp.fsf@free.fr>:
> Using this code as an example:
> int main(int argc, char *argv[])
> {
> int i, j, k;
> int nx=600, ny=800, nz=720;
> float x;
> FILE *file_in, *file_out;
> file_in = fopen("input.sep", "rb");
> file_out = fopen("a.sep", "wb");
> for (i=0; i > for (j=0; j > for (k=0; k > {
> fread(&x, 1, sizeof(float), file_in);
> fwrite(&x, 1, sizeof(float), file_out);
> }
Show full article (1.90Kb)
1 Comment
Re: [C/Fortran] writing "big" binary files issue...         


Author: Dr Ivan D. Reid
Date: Jul 22, 2008 12:08

On Tue, 22 Jul 2008 16:52:00 +0000 (UTC), Dr Ivan D. Reid
brunel.ac.uk>
wrote in loki.brunel.ac.uk>:
> On Tue, 22 Jul 2008 17:28:50 +0200, fred
> wrote in <87tzeiuedp.fsf@free.fr>:
>
>> fread(&x, 1, sizeof(float), file_in);
>> fwrite(&x, 1, sizeof(float), file_out);

You seem to have got the arguments the wrong way around; you
are reading 4 1-byte items. From man fread:

size_t fread(void *restrict ptr, size_t size, size_t nitems,
FILE *restrict stream);
>> What am I doing wrong in the fortran version ?
>
> Have you tried something like:
> integer :: i, j, k
> integer :: nx, ny, nz
> real :: x(720)
> nx = 600; ny = 800; nz = 720
Show full article (2.16Kb)
no comments