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 :
voici le code de l'ecriture :
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
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); }
enfin je vous met un screenshot du résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
merci une fois ce problème résolu j'aurai grandement avancé
Partager