Namespaces
Variants

feof

From cppreference.net
< c ‎ | io
Défini dans l'en-tête <stdio.h>
int feof ( FILE * stream ) ;

Vérifie si la fin du flux de fichier donné a été atteinte.

Table des matières

Paramètres

stream - le flux de fichier à vérifier

Valeur de retour

valeur non nulle si la fin du flux a été atteinte, sinon 0

Notes

Cette fonction ne signale que l'état du flux tel que rapporté par la dernière opération d'E/S, elle n'examine pas la source de données associée. Par exemple, si la dernière E/S était un fgetc , qui a renvoyé le dernier octet d'un fichier, feof renvoie zéro. Le prochain fgetc échoue et change l'état du flux en fin-de-fichier . Seulement alors feof renvoie une valeur non nulle.

En utilisation typique, le traitement du flux d'entrée s'arrête à toute erreur ; feof et ferror sont ensuite utilisés pour distinguer entre différentes conditions d'erreur.

Exemple

#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;
}

Sortie possible :

Hello, world!
End of file is reached successfully

Références

  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.21.10.2 La fonction feof (p: 339)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.19.10.2 La fonction feof (p: 305)
  • Norme C89/C90 (ISO/CEI 9899:1990) :
  • 4.9.10.2 La fonction feof

Voir aussi

efface les erreurs
(fonction)
affiche une chaîne de caractères correspondant à l'erreur actuelle vers stderr
(fonction)
vérifie une erreur de fichier
(fonction)