Comment effacer un enregistrement texte à partir de C++

dpfort Messages postés 4 Date d'inscription samedi 23 avril 2005 Statut Membre Dernière intervention 18 juin 2005 - 14 juin 2005 à 19:08
darfeuille Messages postés 63 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 25 juillet 2005 - 15 juin 2005 à 08:25
Bonsoir

Je cherche un script C++ qui me permet de supprimer un enregistrement donné qui se trouve dans un fichier texte.

Merci de votre réponse

1 réponse

darfeuille Messages postés 63 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 25 juillet 2005
15 juin 2005 à 08:25
Il te suffit de faire :



#include <fstream>

#include <string>





int main()

{

ifstream f("input.txt", ios::in);

ofstream of("output.txt", ios::out);



while(!f.eof)

{

getline( f, line);

cpt = line.find("ce_que_je_ne_veux_pas_ecrire");

if(cpt == -1)

of<<line<<"\n";

}

f.close();

of.close();

/* si tu veux remplacer le fichier par le nouveau, tu fais ca (adapte les commandes a ton OS)*/

//system("rm input.txt");

// system("mv output.txt input.txt");

}



Sinon, tu peux aussi faire autement, plus proprement :

tu ouvre en lecture/ecriture, tu recherche ce que tu
veux enlever en remémorant toujours la position d'avant, et quand tu
l'as trouvé, tu le remplace par "" (je crois qu'il y a une méthode
remplacer pour les fstream).Mais si tu veux juste un truc tout bete, ca ca fonctionnera tres bien.
0
Rejoignez-nous