Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       stdin, stdout, stderr - Flux d'entrees-sorties standard

SYNOPSIS

       #include <stdio.h>

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

DESCRIPTION

       Normalement,  tout programme Unix demarre avec trois flux deja ouverts,
       l'un pour l'entree des donnees, un autre pour la sortie des donnees, et
       un  troisieme  pour l'affichage des messages de diagnostic ou d'erreur.
       Ces trois flux sont typiquement attaches au terminal  de  l'utilisateur
       (consultez  tty(4)),  mais  peuvent  egalement  etre rediriges vers des
       fichiers ou vers d'autres peripheriques suivant les choix du  processus
       parent (voir le paragraphe << Redirection >> dans sh(1)).

       Le  flux d'entree est appele << entree standard >> (standard input), le
       flux de sortie << sortie standard >>  (standard  output),  et  le  flux
       d'erreur est souvent appele << erreur standard >> (standard error). Ces
       noms sont abreges dans les denominations symboliques de ces  fichiers :
       stdin, stdout et stderr.

       Chacun  de  ces symboles est une macro de stdio(3) de type pointeur sur
       un FILE, et peut etre utilise dans des fonctions  comme  fprintf(3)  ou
       fread(3).

       Comme les FILE sont simplement des coquilles entourant les descripteurs
       de fichiers en ajoutant une memoire tampon, il est  egalement  possible
       d'acceder  aux  fichiers  Unix  << bruts >>,  avec  des fonctions comme
       read(2) et lseek(2).

       Au demarrage du programme, les descripteurs  de  fichier  associes  aux
       flux  stdin,  stdout  et  stderr  valent  respectivement 0, 1 et 2. Les
       constantes symboliques STDIN_FILENO,  STDOUT_FILENO,  et  STDERR_FILENO
       sont  definies  avec  ces valeurs dans <unistd.h> (appliquer freopen(3)
       sur l'un de ces flux peut modifier le numero de descripteur de  fichier
       associe au flux).

       Notez  que  l'utilisation  conjointe des FILE et des descripteurs bruts
       risque de produire des resultats inattendus, et doit etre  generalement
       evitee.  Pour  les  plus  masochistes  d'entre-vous,  POSIX.1 decrit en
       detail, dans  son  paragraphe  8.2.3,  comment  ces  interactions  sont
       censees  fonctionner.  Une  regle  generale est que les descripteurs de
       fichier sont manipules par le noyau, alors que stdio est simplement une
       bibliotheque.  Ceci  signifie  par  exemple  qu'apres  un  exec(3),  le
       processus fils herite de tous les descripteurs de fichier ouverts, mais
       que les flux deviennent inaccessibles.

       Les symboles stdin, stdout et stderr etant definis comme des macros, il
       est interdit de leur assigner une valeur. On peut utiliser la  fonction
       de  bibliotheque freopen(3), specialement concue pour reassigner stdin,
       stdout et stderr. Les flux standard  sont  fermes  lors  d'un  appel  a
       exit(3) ou lors d'une fin normale de programme.

CONFORMIT'E

       Les  macros  stdin, stdout et stderr sont conformes au standard C89, et
       celui-ci stipule egalement que ces trois flux doivent etre  ouverts  au
       demarrage du programme.

NOTES

       Le  flux  stderr n'a pas de tampon. Le flux stdout a un tampon de ligne
       lorsqu'il  est  dirige  vers  un  terminal.   Les   lignes   partielles
       n'apparaitront  pas avant que fflush(3) ou exit(3) ne soient invoquees,
       ou  qu'un  retour-chariot  soit  ecrit.  Ceci  a  parfois  des   effets
       inattendus,  principalement lors du debogage des programmes. La gestion
       des tampons des flux standard (et des autres flux egalement) peut  etre
       modifiee  en  utilisant  setbuf(3) ou setvbuf(3). Remarquez que dans le
       cas ou stdin est associee a un terminal, il peut egalement y  avoir  un
       tampon  d'entree  dans le pilote de terminal, sans aucune relation avec
       le tampon de stdio (en effet, normalement, la saisie depuis un terminal
       est  geree avec un tampon de ligne dans le noyau). Cette gestion par le
       noyau peut etre  configuree  en  utilisant  des  appels  systeme  comme
       tcsetattr(3). Consultez egalement stty(1) et termios(3).

VOIR AUSSI

       csh(1), sh(1), open(2), fopen(3), stdio(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.