Kann man in der geöffneten Textdatei lesen und dann schreiben?
-
Hallo an alle,
Ist es möglich überhaupt z.B. "test.txt" ÖFFNEN,
dann in "test.txt" nach einem bestimmten Wort SUCHEN,
dann das gefundene Wort in das Ende der Textdatei "test.txt" EINFÜGEN,
und dann endlich "test.txt" SCHLIESSEN?Ich habe gehört: Wenn eine Datei geöffnet ist, dann kann man in dieser Datei nur LESEN oder nur SCHREIBEN! Irre ich mich?
Vielen Dank für jede Hilfe

-
Wenn du eine Datei passend geöffnet hast (im Format
ios::in|ios::out), kannst du darin sowohl lesen als auch schreiben. Allerdings mußt du eventuell die Datei neu positionieren, wenn du zwischen Lesen und Schreiben umschalten willst (damit die Puffer mit der physichen Datei angeglichen werden können).
-
Hallo CStoll,
vielen Dank für deine Unterstützung.
Hast du zufällig ein zum meinen Problem ähnliches Programmbeispiel
-
Hi!
Das geht etwa so:
void readFindWrite() { std::fstream file("test.txt"); bool found = false; while(!file.eof() && !file.fail() && !found) { std::string tmp; std::getline(file, tmp); // Zeile lesen if(tmp.find("noch")!=std::string::npos) found = true; // noch wurde in der Datei gefunden } if(found) { file.seekp(0, ios::end); // Dateizeiger zum Schreiben ans Ende der Datei setzen file << "noch" << endl; // gesuchtes Wort der Datei hinzufügen } }Greetz
-
Hallo Vellas,
recht herzlichen Dank für den Code

Viele Grüße