Filehandling: In die letzte Zeile rutschen
-
Hi,
kurze Frage:
Wenn ich eine Datei(.txt) mit einem ofstream öffne, wie kann ich dann in die
letzte Zeile rutschen?
-
Die Position musst du dir selber suchen. Also zum Ende gehen und das letzte Zeilenende suchen. Das kann man mehr oder weniger geschickt machen - es hilft auch sehr, wenn man Zusatzinformationen wie die ungefähre Länge der letzten Zeile hat.
-
#include <iostream> #include <fstream> #include <string> int main() { std::ifstream file("a.txt"); if (file) { std::string line; while (std::getline(file, line)); std::cout << "Letzte Zeile: " << line << std::endl; } }
Das wäre der einfachste Ansatz.
-
Wenn du etwas ans Ende einer Datei anhängen willst, dann kann man das mit "ios::app"
ofstream out("test.txt", ios::app);
Somit bist du automatisch am Ende. Eine neue Zeile beginnst du dann mit dem Schreiben von \n.
-
ofstream stream("foobar.txt"); stream.seekg(0, ios::end); int pos = stream.tellg();
Oder was HighLigerBiMBam sagte..