Sauvegarde dans un fichier et mise à jour
Bonjour,
J'ai un problème avec une sauvegarde de données dans un fichier texte.
J'ai créé une fonction "sauvegarder" pour écrire les données dans un fichier texte. De façon à pouvoir trouver la fin du fichier (ne pouvant pas utiliser eof() ), j'ai introduit un entier n qui compte le nombre d'éléments présents dans le tableau. Cependant, je ne vois pas comment mettre à jour cet entier (c'est à dire l'effacer et le remplacer par "n + nouveau n".
Voici le code auquel j'ai pensé :
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
|
void Tableau::sauvegarder(string nom_fichier) const{
fstream fichier(nom_fichier.c_str(), ios::in | ios::out | ios::ate);
int j=0;
if(fichier) {
map<Personne,string>::const_iterator it;
for ( it=M.begin() ; it != M.end(); it++ ) {
j=j+1;
}
for ( it=M.begin() ; it != M.end(); it++ ) {
fichier << (*it).first;
fichier << (*it).second << endl;
}
fichier.seekp(0,ios::beg); //repositionnement du curseur
int entier1;
entier1 = entier1 + j;
fichier << entier1 << endl;
fichier >> entier1 ;
}
else
cerr << "Impossible de sauvegarder les donnees dans le fichier ! " << endl;
} |
Pour info : M est une map et Tableau est une classe
Comment faire pour mettre à jour cet entier et ainsi pouvoir copier des données à la suite du fichier et les récupérer sans problème ?
Merci d'avance