Filestream Verständnisfrage
-
Hi Leute,
also ich hab heute mal eine Frage zu Filestreams.
Es geht um die Lese- bzw. Schreibezeiger in einer Datei.Wenn ich mit [ifstream].get(char* s) mir einen char hole, wird dann der Lesezeiger automatisch eins weitergesetzt?
Ich dachte bisher ja, doch mein Programm das ich z.Z. schreibe funktioniert nicht ganz und ich glaube es liegt an dieser falschen Annahme.Zum Programm:
In einer Datei stehen Daten in folgender Form:tn|Zext bis 50 Zeichen|10 Zeichen|250 Zeichen bis Zeilenende tn|..... das ganze nochmal .....Ich bekomme Probleme sobald die Zeichenlängen überschritten werden, obwohl ich dann eigentlich diesen Fehler überlesen wollte.
Eine konkrete Frage: wie setze ich den Lesezeiger am besten zur nächsten Zeile, auch wenn diese eventuell schon erreicht wurde?Bin grad ein bisschen verwirrt

Schonmal danke für eventuelle Antworten...
-
nimm doch 'getline' und dann zerlegste den string anhand der '|'
-
Hm, dachte per getline und zerlegen wäre umständlicher als immer bis | zu lesen.
Aber ok, ich werds mal mit getline machen und dann seh ichs ja...EDIT:
Also ich hab mir mal getline() und get() genauer angeschaut:get (char* s, streamsize n, char delim ) bleibt vor "delim" stehen,
getline (char* s, streamsize n, char delim ) überliest "delim" einfach.get(...) hat mir deswegen auch Probleme gemacht, weshalb ich dann mit seekg(1,ios_base::cur) gearbeitet habe -> seeehr umständlich.