web-dev-qa-db-fra.com

effacer les données à l'intérieur du fichier texte en c ++

Je programme en C++. Dans mon code, je crée un fichier texte, écrit des données dans le fichier et lit le fichier à l'aide de stream. Une fois la séquence terminée, je souhaite effacer toutes les données contenues dans le fichier txt. Quelqu'un peut-il me dire la commande pour effacer les données dans le fichier txt. Merci

31
Zeyad

Si vous ouvrez simplement le fichier en écriture avec l'option truncate, vous supprimerez le contenu.

std::ofstream ofs;
ofs.open("test.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();

http://www.cplusplus.com/reference/fstream/ofstream/open/

51
PureW

La suppression du fichier supprimera également le contenu. Voir supprimer le fichier .

4
Thomas Matthews

Si vous activez le drapeau trunc.

#include<fstream>

using namespace std;

fstream ofs;

int main(){
ofs.open("test.txt", ios::out | ios::trunc);
ofs<<"Your content here";
ofs.close(); //Using Microsoft incremental linker version 14
}

J'ai testé cela pour mes propres besoins dans une situation de programmation commune que j'avais. Assurez-vous de préformer le ".close ();" opération. Si vous ne le faites pas, vous ne saurez pas si vous tronquez ou appliquez simplement le début du fichier. Selon le type de fichier, vous pouvez simplement ajouter sur le fichier ce qui, en fonction de vos besoins, risque de ne pas remplir sa fonction. Assurez-vous d'appeler ".close ();" explicite sur le courant que vous essayez de remplacer.

2
1911 Soldier