Modification d'un fichier texte
Bonjour,
Je voudrais modifier un fichier texte, en remplaçant certaines des lignes contenues dans ce fichier.
J'arrive à écrire des lignes en fin de fichier, en ouvrant le fichier par :
Code:
1 2
|
std::ofstream fichier(fichierSignet, std::ios::out | std::ios::app); |
Par contre, lorsque j'utilise le code suivant, le contenu initial du fichier est supprimé :
Code:
1 2 3 4 5 6 7 8 9
|
std::ofstream fichier(fichierSignet, std::ios::out | std::ios::ate);
if (fichier)
{
fichier.clear();
fichier.seekp(4*i+3, ios::beg);
fichier<<"monTexte"<<std::endl;
fichier.close();
} |
(i est incrémenté par une boucle for, et 4*i+3 correspond au numéro de la ligne que je veux remplacer).
J'ai essayé aussi :
Code:
1 2 3 4 5 6
|
std::ofstream fichier(fichierSignet, std::ios::out | std::ios::ate);
if (fichier)
{
fichier.close();
} |
C'est le même résultat.
A part le problème de l'éffacement du fichier, je pense que mon code ne fait qu'ajouter du texte au lieu de le remplacer, et que 4*i+3 ne correspond pas à une ligne, mais à un caractère.
Je verrais une fois que le problème sera résolu comment faire pour modifier une ligne précise.
Merci d'avance
(Mon projet est sous visual studio 2005, avec les MFC)