Namensräume
Varianten
Aktionen

feof

Von cppreference.com
< c‎ | io
 
 
Datei-Ein-/Ausgabe
Typen und Objekte
        
Funktionen
Datei-Zugriff
(C95)
Unformatierte Ein-/Ausgabe
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

Formatierte Eingabe
Direkte Ein-/Ausgabe
Formatierte Ausgabe
Dateipositionierung
Fehlerbehandlung
feof
Operationen auf Dateien
 
Definiert in Header <stdio.h>
int feof( FILE *stream );

Prüft, ob das Ende des gegebenen Dateistreams erreicht wurde.

Inhalt

[edit] Parameter

stream - Der zu prüfende Dateistream.

[edit] Rückgabewert

Ein Wert ungleich Null, wenn das Ende des Streams erreicht wurde, andernfalls 0

[edit] Hinweise

Diese Funktion meldet nur den Stream-Status, wie er von der letzten I/O-Operation gemeldet wurde. Sie untersucht nicht die zugehörige Datenquelle. Zum Beispiel, wenn die letzte I/O-Operation ein fgetc war, das das letzte Byte einer Datei zurückgab, gibt feof Null zurück. Das nächste fgetc schlägt fehl und ändert den Stream-Status auf *Dateiende*. Erst dann gibt feof einen Wert ungleich Null zurück.

In der typischen Verwendung wird die Verarbeitung von Eingabestreams bei jedem Fehler gestoppt; feof und ferror werden dann verwendet, um zwischen verschiedenen Fehlerbedingungen zu unterscheiden.

[edit] Beispiel

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    const char* fname = "/tmp/unique_name.txt"; // or tmpnam(NULL);
    int is_ok = EXIT_FAILURE;
 
    FILE* fp = fopen(fname, "w+");
    if (!fp)
    {
        perror("File opening failed");
        return is_ok;
    }
    fputs("Hello, world!\n", fp);
    rewind(fp);
 
    int c; // note: int, not char, required to handle EOF
    while ((c = fgetc(fp)) != EOF) // standard C I/O file reading loop
        putchar(c);
 
    if (ferror(fp))
        puts("I/O error when reading");
    else if (feof(fp))
    {
        puts("End of file is reached successfully");
        is_ok = EXIT_SUCCESS;
    }
 
    fclose(fp);
    remove(fname);
    return is_ok;
}

Mögliche Ausgabe

Hello, world!
End of file is reached successfully

[edit] Referenzen

  • C11-Standard (ISO/IEC 9899:2011)
  • 7.21.10.2 Die Funktion feof (S. 339)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.19.10.2 Die Funktion feof (S. 305)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.9.10.2 Die Funktion feof

[edit] Siehe auch

löscht Fehler
(Funktion) [bearbeiten]
zeigt einen Zeichenstring, der dem aktuellen Fehler entspricht, nach stderr an
(Funktion) [bearbeiten]
prüft auf einen Dateifehler
(Funktion) [bearbeiten]