2017-07-17 1 views
0

Ich habe Probleme beim Ersetzen von Text in einer Datei.C++ warum ist dieser Code nicht in Datei schreiben

Mit diesem kann ich die Zeile lesen, die ich versuche zu ändern, aber es funktioniert nicht zum Schreiben.

string Pull(string& seek) 
{ 
    fstream myfile; 
    string holder = ""; 
    myfile.open("test.txt"); 

    while (seek != holder) 
    { 
     myfile >> holder; 
    } 
    myfile >> holder; 
    myfile.close(); 
    return holder; 
} 
+0

Mögliche Duplikat [Text in einer Datei mit fstream überschreiben und den Rest der Datei löschen] (https://stackoverflow.com/questions/ 13112026/überschreiben-einige-Text-in-einer-Datei-using-fstream-und-löschen-der-Rest-der-Datei) – Ari0nhh

+0

'myfile >> Halter;' schreibt eine leere Zeichenfolge in die Datei. –

+0

Nein, das die Auswahl aus der Datei in den Halter schreibt. Es wird verwendet, um sich durch die Datei zu bewegen und im zweiten Beispiel Informationen daraus zu ziehen. Derzeit, wenn ich versuche, etwas nach der While-Schleife zu schreiben, wrigt es nicht. Stört die While-Schleife irgendwie? – Lugh

Antwort

0

öffnen Sie die Datei im Append-Modus

myfile.open("testfile.txt",ios::app); 
+0

Das scheint das Lesen zu verhindern und verursacht, dass die while-Schleife unendlich ist. :/ Was genau macht der Append-Modus? Auch ohne Append-Modus kann ich die Datei so lange schreiben, wie ich es vor der While-Schleife mache. – Lugh