2013-06-10 29 views
23

C++'da programlama yapıyorum. Kodumda bir metin dosyası oluşturuyorum, dosyaya veri yazarım ve akış kullanarak dosyadan okuma yapıyorum, istediğim diziyi bitirdikten sonra txt dosyasının içindeki tüm verileri temizlemek istiyorum. Birisi bana txt dosyasındaki verileri temizleme komutu söyleyebilir. Teşekkürler.C++ içinde metin dosyası içindeki verileri temizle

+0

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

cevap

35

Dosyayı yazmak için kırpma seçeneğini kullanarak açarsanız, içeriği silersiniz. Ayrıca içeriği kaldıracaktır dosyanın silinmesi

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

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

+1

teşekkürler yardımcı olacaktır .. bu seçeneği yok Bu satırı çalıştırdığımda veya dosyayı kapattığımda içeriği silinsin mi? – Zeyad

+0

Std :: ofstream :: trunk ile açtığınızda içerik silinir. – PureW

4

. Bkz. remove file. Trunc işaretini ayarlarsanız

+0

Bu yanıt, PureW tarafından önerilen cevaptan daha az kod (tek satır!) Ve daha iyi okunabilir kod içeriyor. –

+3

Sorunun yorumu, dosya içeriğini silmek değil, dosyayı silmekti. – PureW

+0

@PureW: Dosyayı silmek, içeriği temizlemenin bir yöntemidir. –

2

.

Kendi gereksinimlerim için sahip olduğum yaygın bir programlama durumunda bunu tamamen test ettim. Kesinlikle ".close();" operasyon. Bunu yapmazsanız, dosyaya yalvarıp atmadığınızı ya da sadece uygulama yapıp yapmadığınızı söylemezsiniz. Dosya türüne bağlı olarak, sadece ihtiyaçlarınızı bağlı olarak dosyaya ekleyebilir, amacını tam olarak yerine getiremeyebilir. ".close();" ifadesini kullandığınızdan emin olun. " Fstream üzerinde açıklık değiştirmeye çalışıyorsunuz.

İlgili konular