problème de lecture de fichier binaire [fortran/C]
Bonjour à vous,
Ca fait maintenant plusieurs semaines que je me confronte à ce problème et pour l'instant je n'ai pas encore réussi à le résoudre.
J'ai un fichier binaire qui est structuré de la façon suivante:
- entier
- tableau 2D de réel
- entier
J'ai un programme fortran
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
program test
parameter (Imax=720,Jmax=361)
real VarGFS(Imax,Jmax)
character*64 FileIn
FileIn='gfs.TMP.t00z.bin'
open(10,file=FileIn,form='unformatted')
read(10) IntBin
read(10) VarGFS
read(10) IntBin
do i=1,10
do j=1,10
write(*,*) VarGFS(i,j)
enddo
enddo
close(10)
end |
et un programme C
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#include <stdio.h>
typedef struct{
int head;
float val[720][361];
int foot;
}VarGFS;
int main(){
int i,j;
VarGFS buffer;
FILE* f = fopen("gfs.TMP.t00z.bin","rb");
if(f){
fread(&buffer,sizeof(VarGFS),1,f);
for(i=0;i<10;i++){
for(j=0;j<10;j++)
printf("%f\n",buffer.val[i][j]);
}
}
} |
Ils sont censés rendre le même résultat mais non.
Est-ce que vous avez une solution ? Ou quelque conseil qui pourrait m'aider ?
Merci d'avance