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 : 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
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
 
#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