Bonjours,
j'ai un problème avec ma fonction fread.
Je doit lire un fichier généré en Pascal avec du C.
j'ai vérifié la concordance des structures (taille octet,correspondance des types pascal / C j'ai même du utiliser un # pragma pack (1) car j'avais un problème d'alignement mémoire sur ma structure.
Lorsque je fait mon fread j'arrive à récupérer les 3 premier champs de ma structure correctement et après j'ai des valeur incohérent.
Je fais un feof et un ferror pour savoir ou est le problème.
ferror me retourne 0
feof me retourne 16
EDIT :
le fread me retourne 0.
et il me remplis que les 4 premier champs et ne remplis pas le reste (les valeur incohérente sont des valeur d’initialisation du compilateur.
Je utilise Visual C++ 6.0
j'ai l'impression que il arrêt de lire le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 TModele Model; Handle=fopen("test.MOD","r"); if(Handle ==NULL) { exit(1); }else{ lecture=fread(&Model,sizeof(TModele),1,Handle); error=feof(Handle); error=ferror(Handle); }
Partager