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
et un programme C
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Ils sont censés rendre le même résultat mais non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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]); } } }
Est-ce que vous avez une solution ? Ou quelque conseil qui pourrait m'aider ?
Merci d'avance
Partager