Provided by: manpages-fr-dev_2.80.1-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
       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. LSB rend obsolète 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 2.80 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       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> ».