Effacer fichier c++

Fermé
fleur - 2 déc. 2010 à 14:18
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 3 déc. 2010 à 08:13
Bonjour,

j'écris un fichier .txt, je lui demande de le remplir. Mais à chaque fois que je relance mon programme, il écrit à la suite de mon .txt. Comme faire pour le "réinitialiser" à chaque fois??

if(tof_ch[i]<0)
{Histo_tof_ch_negatif->Fill(tof_ch[i]);

ofstream tof_negatif("tof_negatif.txt",ios::out | ios::app);
tof_negatif <<"n°event: "<<evt_id << " TOF_raw= "<<tof_ch[i]<< endl;
tof_negatif.close(); }
A voir également:

2 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
2 déc. 2010 à 14:34
recherche sur google de ios::app

http://www.cplusplus.com/doc/tutorial/files/

os::app All output operations are performed at the end of the file, appending the content to the current content of the file. This flag can only be used in streams open for output-only operations.

donc tu vires ton "append" dans l'ouverture du ficher, et ca effacera le contenu précédent
0
oui mais du coup, il ne lira plus toutes mes données.
0
"n'ecrira plus toutes les données "
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
2 déc. 2010 à 16:10
pourquoi ? append dit juste de commencer à la fin du fichier, le comoprtement par défaut (sans append) c'est de vider le fichier avant l'écriture.
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
2 déc. 2010 à 16:12
tout a fait du même avis que char sniper.
Essayes, et quand tu auras observé le fonctionnement, reviens faire un commentaire ..
0
je l'ai fais mais il me sort qu'une seule valeur:
n°event: 355348 TOF_raw= -201
si je laisse le ios::app il me sort une multitude de valeur, exemple:

n°event: 1137 TOF_raw= -69
n°event: 2041 TOF_raw= -130
n°event: 2518 TOF_raw= -71
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
2 déc. 2010 à 16:36
En meme temps, on a qu'une partie de ton code, nous on parle en fonction de ce qu'on a ...

Je suppose que ce code est dans une boucle, donc a chaque tour de boucle tu ouvres ton fichier, tu met ta ligne,et tu fermes la boucle ...

tu pourrais pas ouvrir avant la boucle, et fermerr après la boucle ?

ou sinon, en début de programme, tu fais une ouverture / fermeture qui effacera le contenu du fichier, et tu laisses ton code comme il est (mais tu baisses les performances de ton prog vu que tu fais plein de cycles d'ouvertures / fermeture)
-1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
3 déc. 2010 à 08:13
je pense pareil. Il doit ouvrir et refermer le fichier à chaque boucle.
deux solution : soit mettre l'ouverture de fichier en dehors de la boucle, soit faire la première ouverture sans append.
0