Bonjour,
J'ai créé deux structures que je vais ensuite mettre dans une liste, mais lorsque je fais la lecture du fichier et affiche le contenu de ma structure, la dernière donnée est affichée deux fois. Voici mon code :
Avez vous une solution?
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
28
29
30
31
32
33
34
35
36
37
38
39
40 void lireFichierAbonnes(abonne *& listeAbonnes) { int compterReservations = 0; ifstream lecture; abonneFichier personne; reservationFichier reservation; lecture.open("Abonnes.data", ios::binary); if(!lecture.fail()) { cout << "Voici la liste des des abonnés : " << endl << endl; while (!lecture.eof()) // Tant qu'on peut lire un numero d'item { lecture.read ((char*) &abonne, sizeof(abonneFichier)); cout << personne.nom << endl; cout << personne.no << endl; cout << personne.adresse << endl; cout << personne.telephone << endl; cout << personne.nbReservations << endl; while(compterReservations != personne.nbReservations) { lecture.read ((char*) &reservation, sizeof(reservationFichier)); cout << reservation.isbn << endl; cout << reservation.dateReserv.jour << endl; cout << reservation.dateReserv.mois << endl; cout << reservation.dateReserv.an << endl; ++ compterReservations; } compterReservations = 0; } lecture.close(); } else { cout << "La lecture du fichier n'a pas réussi" << endl; } }
Merci d'avance
Partager