Fonction feof

Entête à inclure

#include <stdio.h>  // <cstdio> en C++

Fonction feof

int feof( FILE * stream );

Cette fonction permet de déterminer s'il reste (ou non) des octets à lire dans le flux.

Paramètres

  • stream: ce paramètre permet d'indiquer le flux de caractères (ou d'octets) à tester. N'oubliez pas que la valeur de ce paramètre à été initialement capturée lors de l'invocation de la fonction fopen.

Valeur de retour

Une valeur non nulle est retournée si l'on est à la fin du flux, sinon, une valeur nulle est renvoyée.

Exemple de code

#include <stdio.h>
#include <stdlib.h>

int main( int argc, char * argv[] ) {

    /* Cet exemple calcule la taille du fichier spécifié */
    
    FILE * inputFile;
    size_t size = 0; 
    
    argc--;   argv++;
    
    if ( argc == 0 ) {
        printf( "Usage: sample filename...\n" );
        exit( 0 );
    }
    
    inputFile = fopen( argv[0], "r" );
    if ( inputFile == NULL ) {
        printf( "Cannot open file %s\n", argv[0] );
        exit( 0 );
    }
    
    while ( ! feof( inputFile ) ) {
        fgetc( inputFile );
        size++;
    }

    printf( "The file size is %ld\n", size );    
    fclose( inputFile );
        
    return 0;
}

Il est à noter que ce programme n'est certainnement pas le plus efficace pour calculer la taille d'un fichier, mais il est proposé à titre d'exemple d'utilisation de la fonction feof.

Sujets connexes