Zeigerposition beim auslesen einer .txt datei



  • Hi leute,
    und zwar will ich aus einer .txt datei zahlen auslesen die an einer betimmten stelle stehen.
    z.B.: (nachfolgender text steht in der .txt datei)
    Holz: 300
    Stein: 200
    Gold: 1385
    Anmerkung: ich will NUR die Zahlen.^^

    So bis jetzt hab ich es geschafft die Zahl von Holz auslesen zu lassen und ins programm zu schreiben und zwar so:

    [...]
    eingabe.seekg(7L,ios::beg);
    		eingabe.get(zeile, 25);
    		cout << zeile << endl;
    [...]
    

    Damit hab ichs geschafft das dieser Bildschirmausdruck zustande kommt:
    300
    Stein: 200
    Gold: 1385

    meine frage jetzt, wie programmiere ich das jetzt, damit ich den zeiger in Zeile 2 positioniere und die zeile ab stelle 8 wieder auslese, genau das gleiche dann mit zeile 3 usw.

    Hoffe mein Problem wurde verstanden und jemand hat da ne Lösung



  • Ohne Gewähr, aber das Prinzip sollte klar sein.

    #include <cctype> isdigit
    ...
    eingabe.seekg(7L,ios::beg);
      int c;
      while (!isdigit(c)) {  eingabe.get(c); }
            eingabe.get(zeile, 25);
            cout << c << zeile << endl;
    


  • Also ich würde mich ja nicht auf die Positionen verlassen, denn sobald eine Zahl um eine Dezimalstelle geändert wird, ändern sich ja die Offsets.

    Besser wäre wohl einfach jede Zeile zu parsen und die Werte nach dem ':' auszulesen (hierzu gibt es schon diverse andere Threads hier im Forum).


Anmelden zum Antworten