1 pièce(s) jointe(s)
lecture dans un fichier de donnée avec "reconstruction de liste chainée"
bonjours,
alors je veux lire dans mon fichier de donnée au début du programme pour "chargé" la liste chainée. la liste se reconstruit bien mais lors de l'affichage, cela affiche bien la liste mais en mettant des espaces et retour a la ligne n'importe comment et la dernière ligne il m'écrit n'importe quoi on dirait que le buffer est pas clean, je pense que sa doit venir d'un \n mais pas sur.
voici le code pour la lecture :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
encourt = malloc(sizeof(livre));
debut = encourt;
fgets(encourt->titre,46,fdat);
while(!feof(fdat))
{
fgets(encourt->auteur,21,fdat);
fgets(encourt->genre,21,fdat);
fgets(encourt->dateDeParution,11,fdat);
if(feof(fdat))
{
encourt->suivant = NULL;
}
nb++;
//allocation dynamique de la memoire pour l'attribut suivant du second maillon
suivant = malloc(sizeof(livre));
//l'adresse suivant du second maillon pointe vers le maillon suivant
encourt->suivant = suivant;
//on travail avec le maillon suivant
encourt = suivant;
fgets(encourt->titre,46,fdat);
} |
voici le code de l'ecriture :
Code:
1 2 3 4 5 6 7
|
encourt=debut;
for(i=0;i<nb;i++)
{
printf("%-45s \n%-20s \n%-20s \n%-10s\n\n",encourt->titre,encourt->auteur,encourt->genre,encourt->dateDeParution);
encourt = encourt->suivant;
} |
enfin je vous met un screenshot du résultat :
merci une fois ce problème résolu j'aurai grandement avancé