Comment effacer un enregistrement texte à partir de C++
dpfort
Messages postés4Date d'inscriptionsamedi 23 avril 2005StatutMembreDernière intervention18 juin 2005
-
14 juin 2005 à 19:08
darfeuille
Messages postés63Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention25 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
A voir également:
Comment effacer un enregistrement texte à partir de C++
darfeuille
Messages postés63Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention25 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.