2013-06-10 12 views
23

Sto programmando su C++. Nel mio codice creo un file di testo, scrivo i dati nel file e leggo il file usando lo stream, dopo aver completato la sequenza desidero cancellare tutti i dati all'interno del file txt. Qualcuno può dirmi il comando per cancellare i dati nel file txt. Graziecancellare i dati all'interno del file di testo in C++

+0

spero che ti possa aiutare http://stackoverflow.com/questions/4815251/how-do-i-clear-the-whole-contents-of-a-file-in-c –

risposta

35

Se si apre semplicemente il file per la scrittura con l'opzione troncato, si eliminerà il contenuto.

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

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

+1

grazie .. fa questa opzione eliminare il contenuto quando eseguo questa riga o quando chiudo il file? – Zeyad

+0

Il contenuto viene cancellato quando si apre con std :: ofstream :: trunk. – PureW

4

L'eliminazione del file sarà anche rimuovere il contenuto. Vedi remove file.

+0

Questa risposta ha meno codice (riga singola!) E un codice più leggibile rispetto alla risposta proposta da PureW. –

+3

La mia interpretazione della domanda era di cancellare il contenuto del file, non cancellare il file. – PureW

+0

@PureW: l'eliminazione del file è un metodo per cancellare i contenuti. –

2

Se si imposta il flag 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 
} 

Ho provato questo molto per le mie esigenze in una situazione di programmazione comune che avevo. Sicuramente assicurati di preformare ".close();" operazione. Se non lo fai non puoi dire se stai trunc o semplicemente app per l'accattonaggio del file. A seconda del tipo di file, è possibile aggiungere semplicemente il file, che a seconda delle esigenze potrebbe non soddisfare lo scopo. Assicurati di chiamare ".close();" Esistenza sul ffl che stai cercando di sostituire.