Bonjour,
Voici une procédure charger de remplir un liste chainée en lisant les donnée d'un fichier binaire :
void LectureDuFichier(){
FILE *fichier_in;
printf("\nLECTURE");
ptStart=(element*)malloc(sizeof(element));
ptCur=ptStart;
fichier_in=fopen("stock.gst",0_READ); // "rb" .
while(fread(ptCur,sizeof(element),1,fichier_in)!=0){
if(feof(fichier_in)==0){
ptCur->ptSuivant=(element*)malloc(sizeof(element));
ptCur=ptCur->ptSuivant;
}
}
fclose(fichier_in);
ptEnd=ptCur;
ptEnd->ptSuivant=NULL;
}
En fait cette procédure fonctionne bien, je dirait même trop bien car elle alloue de la mémoire 1 fois en trop :s . Pourtant j'alloue de la mémoire supplémentaire tantque l'on est pas arrivé à la fin du fichier :/ . Cela ne devrait pas allouer de la mémoire en trop.
Quelqu'un peut t-il m'aider svp?
Merci d'avance.