Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonction feof

Entête à inclure

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

Fonction feof

int feof( FILE * stream );

Cette fonction permet de déterminer si la position courante est en fin de fichier (de flux) ou non.

les lettres « eof » signifiant « end of file.

Paramètres

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 certainement 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

fopen
fclose