#include <stdio.h> // <cstdio> en C++
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.
stdin : ce flot correspond au flux standard d'entrée de l'application. Par défaut, ce flux est associé au clavier : vous pouvez donc acquérir facilement des données en provenance du clavier. Quelques fonctions utilisent implicitement ce flux (scanf, par exemple).
stdout : c'est le flux standard de sortie de votre application. Par défaut, ce flux est associé à la console d'où l'application à été lancée. Quelques fonctions utilisent implicitement ce flux (printf, par exemple).
stderr : ce dernier flux est associé à la sortie standard d'erreur de votre application. Tout comme stdout, ce flux est normalement redirigé sur la console de l'application.
#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; }
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 :