[selbst gelöst :)]ifstream tellg und seekg



  • Hallo,

    Ich bin gerade auf ein merkwürdiges Verhalten gestoßen...
    Ich habe einen Parser geschrieben, der per ifstream eine Datei einliest (über get() wird eingelesen).
    Das klappt wunderbar.

    Nun möchte ich wenn ein bestimmten Token gefunden wird in der Datei springen. Daher speichere ich die aktuelle Position mit tellg.

    Probiere ich nun die Datei einzulesen, so findet der Parser nichts mehr.

    Daher frage ich mich, was tellg genau macht, anscheinend erhält man ja nicht nur den Zeiger auf die aktuelle Stelle in der Datei?!

    Hat einer eine Ahnung woher dieses Verhalten kommt?

    Gruß

    LÖSUNG: Die Datei muss als binary geöffnet werden...könnte man ruhig bei seekg erwähnen...außer in den examples...

    http://www.cplusplus.com/reference/iostream/istream/tellg/


  • Mod

    Was hälst du davon, einfach mal ein minimales, compilierbares Beispiel für dein Problem zu posten? Wahrscheinlich hast du irgendwo einen Fehler gemacht.

    Zu deiner Frage: Wenn man nicht weiß, was eine Funktion genau macht, dann schlägt man das in einer Referenz nach. Eine gute Referenz ist www.cplusplus.com, denn da sind auch oft hilfreiche Beispiele zu finden. Unter anderem gibt es dort diesen Artikel:
    http://www.cplusplus.com/reference/iostream/istream/tellg/

    edit: Oh, zu spät.



  • Wow, da bin ich ja angenehm überrascht. Ein User, der selbständig nach der Lösung seines Problems sucht und bei Erfolg auch noch Rückmeldung mit Lösung und Quelle gibt. Chapeau! 👍


Anmelden zum Antworten