Bonjour à tous,
Débutant...Désolé
J'ai un fichier texte qui peut atteindre près de 1 million de ligne. Ce fichier texte est lisible ligne par ligne (ifstream(getline...). Je cherche à modifier certaines lignes. Par modification j'entends ajout, modification, suppression de lignes ou de sous-chaines ou de caractères dans une ligne. Les lignes, sous-chaines ou caractères peuvent être situés n'importe où.
J'arrive à ouvrir le fichier en lecture, modifier des lignes, mais les modifs ne sont pas sauvegardées (normal pas de ofstream). Comment enregistrer les modifs ?
Mon code fait le travail (ici remplacement de virgule-espace-virgule par virgule) :
Le problème est dans la sortie cout de result
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 int main() { string const nomFichier("fichier.txt"); fstream monFlux(nomFichier.c_str()); if (monFlux) { string ligne; while (getline(monFlux, ligne)) { regex pattern { ", ," }; string target { ligne }; string replacement { "," }; string result = regex_replace(target, pattern, replacement); cout << result << endl; } monFlux.close(); } else { cout << "Erreur : Impossible d'ouvrir le fichier !" << endl; } return 0; }
Si quelqu'un pouvait éclairer ma vue basse...
Merci
P.
Partager