C-Programmierung

End of File

File Read | | File Write

Die Funktion fgetc() liefert EOF (−1) am Dateiende, aber auch wenn ein Fehler vorlag.
Um diese zwei Fehlertypen unterscheiden zu können, gibt es die folgenden Statusabfragen:

  • int feof(FILE *file);
  • int ferror(FILE *file);

Diese liefern den entsprechenden Wahrheitswert für den Fall, dass das Ende der Datei erreicht wurde bzw. wenn ein Fehler aufgetreten ist. Der Rückgabewert von ferror() entspricht zusätzlich einem Fehlercode.

Auszug der Fehlercodes:

  • EACCES (Permission denied)
  • EBADF (Bad file descriptor)
  • EIO (Input/output error)
  • EEXIST (File already exists)
  • ENOSPC (No space left on device)
  • EBUSY (Device or resource busy)
  • usw.

Eine vollständige Liste aller Fehlercodes gibt es in den Man-Pages (man errno).

File Read | | File Write

Options: