J'ai une fonctionnalité de journalisation et j'ai ici des fichiers journaux. Maintenant, chaque fois que j'exécute le programme, je veux que le fichier précédemment écrit ne soit pas supprimé et qu'il soit ajouté aux données actuelles (ce qu'il y a toujours dans le fichier journal)
Juste pour être clair, par exemple: j'ai un fichier journal logging_20120409.log qui garde l'horodatage au quotidien. Supposons que j'exécute mon projet, il y écrit l'horodatage actuel. Maintenant, si je le relance, l'horodatage précédent est remplacé par lui. Je ne veux pas de cette fonctionnalité. Je veux l'horodatage précédent avec l'horodatage actuel.
Veuillez aider
Vous souhaitez ouvrir le fichier en mode "ajout", afin qu'il ne supprime pas le contenu précédent du fichier. Pour ce faire, spécifiez ios_base::app
lorsque vous ouvrez le fichier:
std::ofstream log("logfile.txt", std::ios_base::app | std::ios_base::out);
Par exemple, chaque fois que vous l'exécutez, il ajoutera une ligne de plus au fichier:
#include <ios>
#include <fstream>
int main(){
std::ofstream log("logfile.txt", std::ios_base::app | std::ios_base::out);
log << "line\n";
return 0;
}
Donc, la première fois que vous l'exécutez, vous obtenez
line
La deuxième fois:
line
line
etc.
Utilisez quelque chose comme:
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ofstream out("try.txt", ios::app);
out << "Hello, world!\n";
return 0;
}
L'option ios: app ajoute la sortie à la fin du fichier au lieu de supprimer son contenu.
vous devez peut-être ouvrir le fichier avec l'option append. comme ça:
FILE * pFile;
pFile = fopen ("myfile.txt","a");
ou ca :
fstream filestr;
filestr.open ("test.txt", fstream::app)