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 :

Structure FILE * et variables stdin, stdout et stderr

Entête à inclure

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

Structure FILE * et variables stdin, stdout et stderr

FILE * stdin;
FILE * stdout;
FILE * stderr;

La structure FILE permet de stocker les informations relatives à la gestion d'un flux de données. Néanmoins, il est très rare que vous ayez besoin d'accéder directement à ses attributs. Effectivement, il existe un grand nombre de fonctions qui acceptent un paramètre basé sur cette structure pour déterminer ou contrôler divers aspects. Par exemple, il est possible d'utiliser la fonction feof pour savoir si on est (ou non) en fin de flux.

Exemple de code

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

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

    /* Cet exemple affiche le contenu d'un fichier sur la console */
    
    FILE * inputFile;
    
    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 ) ) {
        fputc( fgetc( inputFile ), stdout );
    }
    
    fclose( inputFile );
        
    return 0;
}

Sujets connexes

fclose
fopen