Bonjours, j'ai besoin de modifier une donnée dans un fichier contenant un vecteur "sérialisé".
j'ai donc décidé de parcourir le fichier et une fois l'enregistrement retrouvé de revenir en arrière et de le ré-enregistrer. mais j'ai un soucis.
mon fichier contenant une suite d'objets découpés en deux struct (sPersonne et sFedAdmin )
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 fstream file; struct sPersonne pers; struct sFedAdmin fed; file.open("FedAdmins.dat",ios::in|ios::binary); while(file.read((char*)&pers,sizeof(struct sPersonne))) { file.read((char*)&fed,sizeof(struct sFedAdmin)); if(strcmp(fed.login, fa.getLogin())==0)//bonne pioche { strcpy(fed.competition,fa.getCompetition()); file.seekg(-sizeof(struct sFedAdmin), ios_base::cur); file.write((char*)&fed,sizeof(struct sFedAdmin)); break; } } file.close();
ça compile/tourne mais a la lecture du fichier ce qui se trouvait dans la struct fed ne se retrouve pas dans le fichier...
quelqu'un voit pourquoi?
Partager