Guten Abend liebe DF-Gemeinde,
ich erzeuge in der Konsole eine Textdatei, fülle diese mit den Zahlen
1 bis n, in diesem Falle bis n = 100.
Anschließend "wandere" ich mit Hilfe einer While-Schleife und EOF zum letzten Element und lasse es mir ausgeben.
Allerdings steht nun dort
101 anstelle von
100. Der Wert wurde also um eins erhöht.
Doch wie kann das sein? Es wurde doch niemals der Wert 101 in die Datei geschrieben!?
Wäre schön, wenn jemand eine Antwort parat hätte.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| var f: file of integer; i: integer; begin rewrite(f,extractfilepath(paramstr(0))+'foo.txt'); reset(f);
for i := 1 to 100 do write(f,i);
while not eof(f) do read(f,i); closefile(f); writeln(i);
readln; end. |
grüße