bonjours à tous...
j'ai un petit problème au niveau de la récupération des structures (patient) enregistrées dans un fichier bonaire ,pour les charger ensuite dans une liste chainée..
En fait avec ce code ("ça passe, mais")je n'arrive à récupérer que la première structure (le premier patient) qui se trouve dans le fichier...
voilà le code de ma fonction qui fait ce chargement à partir du fichier vers la nouvelle liste chainée créée :
void charger(liste*l)
{
initialiser(l);
FILE *Fin;
Fin=fopen("fiches.txt","rb");
if(Fin==NULL)
{
printf("\n\n\n\n\n\t\timpossible d'ouvrir le fichier en lecture\n ");
getch();
return;
}
while(!feof(Fin))
{
patient *p=(patient*)malloc(sizeof(patient));
fread(p,sizeof(*p),1,Fin);
insererFin(l,*p);
}
fclose(Fin);
}
et voilà le code des deux fonctions appelées : initialiser et insererFin :
void initialiser(liste *l)
{
l->tete=NULL;
}
void insererFin(liste *l,patient p)
{ cellule* cour=l->tete;
//preparer la nouvelle liste
cellule* nouv=(cellule*)malloc(sizeof(cellule));
nouv->info=p;
nouv->suivant=NULL;
//rattacher la nouvelle cellule
if(l->tete==NULL)
{ l->tete=nouv;
}
else
{ while(cour->suivant!=NULL)
{ cour=cour->suivant;
cour->suivant=nouv;
}
}
}
Merci pour votre attention