Zeichen mit fscanf() aus einer Datei auslesen

BaYan

Mitglied
Hallo zusammen,

ich sitze vor einem Problem. Und zwar muss ich Zeichen mit fscanf() aus der Datei auslesen. Das ist klar, das krieg ich noch hin. Aber wie könnte ich es rückgängig machen. Z.B. Wenn ich ein Zeichen in einer Funktion gelesen habe, möchte ich dieses Zeichen auch in einer anderen Funktion lesen.

Kann mir vielleicht jemand helfen?

Gruß

BaYan
 
Hi.

Das könntest du einfach mit fgetpos/fsetpos machen.
Code:
fpos_t pos;
if (fgetpos(file, &pos) == 0) { /* fgetpos gibt 0 zurück wenn erfolgreich */
  auslesen_func1 (file);
  if (fsetpos (file, &pos) != 0) {
    /* Fehler */
    exit (2);
  }
  auslesen_func2 (file);
  /* usw. */
}

Das Ganze funktioniert natürlich nicht auf der Standardeingabe o.ä.

Alternativ könntest du auch erstmal alles in einen String einlesen und diesen String dann jeweils mehrfach mit sscanf bearbeiten.

Gruß
 
Warum nicht? Mit fgetpos merke ich mir doch die Stelle in der Datei wo gerade gelesen wird.
Nach einer oder mehreren Leseoperationen mit fscanf oder was auch immer setze ich den Dateicursor wieder auf die alte Stelle zurück - ganz so als ob nie was gewesen wäre.

Gruß
 
Zurück