Bestimmte Zeile einlesen/schreiben in einem txt Document

finnex

Erfahrenes Mitglied
Hallo,
ich würde gerne aus einer Text Datei nur einzelne Zeilen auslesen können und wieder speichern können.


Als Beispiel ich habe dieses Textdocument:

Max Mustermann
Musterstarße Nr. 11
Musterstadt

Peter Mustermann
Musterstarße Nr. 11
Musterstadt

Gabi Mustermann
Musterstarße Nr. 11
Musterstadt


Wie kann ich jetz z.b nur Peter Mustermann einlesen um ihn dann in Paul Mustermann umbenennen?


Ich kann bis jetz nur eine ganze Textdatei mit diesem Befehl einlesen;

Code:
ifstream in("1.txt");
while(!in.eof())
{
char ch;
ch=in.get();
cout<<ch;
};


Mfg finnex
 
Hi.
ich würde gerne aus einer Text Datei nur einzelne Zeilen auslesen können und wieder speichern können.
Du kannst grundsätzlich nur einzelne Zeichen überschreiben und Text hinten ans Ende der Datei anhängen. D.h. was du vorhast würde nur gehen, wenn die Zeilen beide gleich gross wären.

Das einfachste ist die Datei in den Speicher zu lesen und beliebig zu ändern, dann am Schluss komplett zu überschreiben.
Ich kann bis jetz nur eine ganze Textdatei mit diesem Befehl einlesen;

Code:
ifstream in("1.txt");
while(!in.eof())
{
char ch;
ch=in.get();
cout<<ch;
};
<schreikrampf>Ahhrrgg, also wenn jetzt hier noch einer die .eof() Methode so verwendet, beiß ich hier die Lampe ab..</schreikrampf>:eek:

Wo hast du denn das her?

C++:
ifstream in("ein.txt");
string zeile;
while (getline(in, zeile)) { // KEIN .eof() ! VERDAMMT!
  // .. hier die Zeile z.B. in einen vector speichern
}
Gruß
 
Hi.
Hallo,
also gibt es keine richtige Lösung eine Zeile alleine auszulesen?
Du kannst natürlich auch nur eine bestimmte Zeile einlesen. Da aber eine Datei nicht zeilenorientiert aufgebaut ist, mußt du solange Zeilen einlesen bis die gewünschte Zeile gelesen wurde.

Falls du aber irgendwas in der Datei ändern willst, ist es einfacher die Datei erstmal komplett auszulesen.
Zu deiner Frage woher ich das "eof" her habe:
http://www.volkard.de/vcppkold/dateien.html
Ja, leider gibt es auch schlechte Tutorials und Bücher wo so ein Schwachsinn drin steht...

Ich hab grad 'ne Email geschrieben - mal sehen was draus wird...

Gruß
 
<schreikrampf>Ahhrrgg, also wenn jetzt hier noch einer die .eof() Methode so verwendet, beiß ich hier die Lampe ab..</schreikrampf>:eek:

Hey, ich benutze das auch zum Dateien auslesen, wenn ich denn mal eine Datei auslese. Kannst Du erklären, wieso das so nicht gut ist?
Lese solange Zeilen aus, bis die Datei zu Ende ist.
Man lernt ja gerne dazu. ;-)

Gruß Sunny
 
Hi.
Hey, ich benutze das auch zum Dateien auslesen, wenn ich denn mal eine Datei auslese. Kannst Du erklären, wieso das so nicht gut ist?
Lese solange Zeilen aus, bis die Datei zu Ende ist.
Man lernt ja gerne dazu. ;-)
Kein Problem. Ich habe es schon einige Male erklärt.. :)

Siehe http://www.tutorials.de/forum/1376694-post8.html

Hier nochmal ein Beispiel wo es nicht mit der eof() Methode funktioniert hat:

http://www.tutorials.de/forum/c-c/224431-textdatei-string.html#3

Gruß
 
Zuletzt bearbeitet:
Zurück