EOF

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » E » EOF

Syntax: EOF(f)
Typ: Funktion
Kategorie: Datei

EOF steht für end-of-file (Ende der Datei) und gibt true (-1) zurück, wenn der Dateizeiger das Ende einer geöffneten Datei erreicht hat.

'f' ist die Nummer der Datei, die geprüft werden soll. Diese Nummer wird in der OPEN-Anweisung festgelegt.

Beispiel:

DIM AS INTEGER f
DIM AS STRING txt

' eine unbenutzte Dateinummer finden und Datei zum Einlesen öffnen
f = FREEFILE
OPEN "file.ext" FOR INPUT AS #f

' Daten so lange einlesen, bis das Ende erreicht wurde.
DO UNTIL EOF(f)
   ' Zeile aus der Datei einlesen und auf dem Bildschirm ausgeben
   INPUT #f, txt
   PRINT txt
LOOP

' Datei schließen
CLOSE #f

'Auf Tastendruck vor dem Beenden warten
SLEEP

Wegen der plattformbedingten Unterschiede in den vom Compiler verwendeten Bibliotheken kann es zu Problemen kommen, wenn die EOF-Funktion verwendet wird, um in Linux erstellte Textdateien (mit LF als Zeilenende) in einem für Windows compilierten Programm zu verwenden. Die DOS- und Linux-Compiler haben dieses Problem nicht. Eine mögliche Lösung des Problems ist die Verwendung des Dateimodus BINARY statt INPUT. LINE INPUT# und EOF können im oberen Beispiel immer noch genutzt werden und EOF wird zuverlässig arbeiten.

Unterschiede zu QB

Siehe auch:
LOF, LOC, OPEN, Dateien (Files)