fprintf() tut nichts

Hi.

Ich hatte das Programm (aus Bequemlichkeit) nur unter Linux getestet. Unter Windows gestartet schlägt es bei mir ebenfalls fehl.

Das ist scheint ja schon etwas merkwürdig. Allerdings dämmerte es mir ein wenig, und nach etwas Suche...

Der C Standard verlangt bei Dateien welche zum Lesen und Schreiben geöffnet sind, das zwischen Lese- und Schreibvorgängen entweder ein fflush bzw. ein fseek erfolgen muss.

Siehe z.B. http://www.lysator.liu.se/c/c-faq/c-11.html#11-10

Also, wenn du etwas mit fgets liest und danach fprintf aufrufen willst, solltest du dazwischen z.B.
C:
fseek(scores, 0, SEEK_CUR);
aufrufen.

Gruß
 
Vielen Dank jetzt funktioniert es!
Das erklärt dann auch warum es nur beim ersten Durchlauf geklappt hat ;)
Und ich hab wieder was neues gelernt :D

Lg
 
Zurück