2016-05-17 24 views
0

Mit wfstream versuche ich etwas verarbeiteten Inhalt zu schreiben, den alten Inhalt aus der Datei entfernend.neuen Inhalt schreiben alten Inhalt löschen

wfstream cSrcFileOutput(m_cstrFile); 
wfstream cSrcFileInput(m_cstrFile); 
std::wstring cstrSrcFileContent; 
.... 

cstrSrcFileContent hat mein Gehalt

I wie unten schreibe:

cSrcFileOutput.write(cstrSrcFileContent.c_str(), cstrSrcFileContent.size()*sizeof(wchar_t)); 

Das Problem ist, es ist nicht die vorherigen Daten zu löschen. stattdessen wird der verarbeitete Inhalt irgendwo in die Datei eingefügt.

Ich möchte den alten Inhalt durch den neuen verarbeiteten Inhalt ersetzen.

Bitte vorschlagen.

+1

Mögliches Duplikat von [Daten in Textdatei in C++ löschen] (http://stackoverflow.com/questions/17032970/clear-data-inside-text-file-in-c) –

Antwort

0

Wenn Sie die Datei öffnen, stellen Sie den Modus für die, wie die Daten

std::wfstream cSrcFileOutput(m_cstrFile, std::wfstream::out | std::wfstream::trunc); 

wo std :: wfstream an den Konstruktor durch den zweiten Parameter in die Datei geschrieben werden :: trunc bedeutet, bestehende Inhalte zu überschreiben (siehe std::basic_fstream::basic_fstream für die Konstruktordokumentation).

Verwandte Themen