Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       gets, fgetc, fgets, getc, getchar, ungetc - Saisie de caractères et de chaînes

SYNOPSIS

       #include <stdio.h>

       int fgetc(FILE *stream);

       char *fgets(char *s, int size, FILE *stream);

       int getc(FILE *stream);

       int getchar(void);

       char *gets(char *s);

       int ungetc(int c, FILE *stream);

DESCRIPTION

       fgetc()  lit  le  caractère  suivant  depuis  le flux stream et le renvoie sous forme d'un
       unsigned char, transformé en int, ou EOF en cas d'erreur ou de fin de fichier.

       getc() est équivalent à fgetc() sauf qu'il peut être implémenté sous forme de  macro,  qui
       évalue l'argument stream plusieurs fois.

       getchar() est équivalent à getc(stdin).

       gets()  lit  une  ligne  depuis  stdin  et  la  place  dans le tampon pointé par s jusqu'à
       atteindre un retour-chariot, ou EOF, qu'il remplace par '\0'. Il n'y a pas de vérification
       de débordement de tampon (voir la section des BOGUES plus bas).

       fgets()  lit  au plus size - 1 caractères depuis stream et les place dans le tampon pointé
       par s. La lecture s'arrête après EOF ou un retour-chariot. Si un retour-chariot  (newline)
       est lu, il est placé dans le tampon. Un caractère nul '\0' est placé à la fin de la ligne.

       ungetc()  replace le caractère c dans le flux stream, en le transformant en unsigned char,
       où il sera disponible pour une lecture ultérieure. Les caractères replacés seront renvoyés
       en  ordre  inverse.  Le  fonctionnement  n'est  garanti  que pour le replacement d'un seul
       caractère.

       Les fonctions décrites ci-dessus peuvent être utilisées conjointement, ainsi  qu'avec  les
       autres fonctions de lecture de la bibliothèque stdio.

       Pour des versions de ces fonctions ignorant les verrouillages, voir unlocked_stdio(3).

VALEUR RENVOYÉE

       fgetc(),  getc()  et  getchar()  renvoient  un  caractère,  lu  comme un unsigned char, et
       transformé en int, ou EOF à la fin du fichier, ou en cas d'erreur.

       gets() et fgets() renvoient le pointeur s si elles réussissent, et NULL en  cas  d'erreur,
       ou si la fin de fichier est atteinte avant d'avoir pu lire au moins un caractère.

       ungetc() renvoie c s'il réussit, ou EOF en cas d'erreur.

CONFORMITÉ

       C89,  C99,  POSIX.1-2001. LSB marque gets() comme étant obsolète. POSIX.1-2008 supprime la
       spécification de gets().

BOGUES

       N'utilisez jamais gets(). Comme  il  est  impossible  de  savoir  à  l'avance  combien  de
       caractères  seront  lus par gets(), et comme celui-ci écrira tous les caractères lus, même
       s'ils débordent du tampon, cette fonction est extrêmement dangereuse à utiliser. On a déjà
       utilisé ce dysfonctionnement pour créer des trous de sécurité. UTILISEZ TOUJOURS fgets() À
       LA PLACE DE gets().

       Il est fortement déconseillé de mélanger  les  appels  aux  fonctions  de  lecture  de  la
       bibliothèque  stdio  avec  les  appels  aux fonctions de lecture bas-niveau read(2) sur le
       descripteur de fichier associé au flux. Les résultats sont indéfinis, et très probablement
       indésirables.

VOIR AUSSI

       read(2),   write(2),   ferror(3),  fgetwc(3),  fgetws(3),  fopen(3),  fread(3),  fseek(3),
       getline(3), getwchar(3), puts(3), scanf(3), ungetwc(3), unlocked_stdio(3)

COLOPHON

       Cette page fait partie de la publication 3.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  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). Florentin Duneau et l'équipe francophone de
       traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».