Provided by: manpages-fr_1.67.0-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  implementé  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
       plus bas la section BOGUE 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  garantit  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  les  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 reussit, ou EOF en cas d’erreur.

CONFORMITÉ

       ANSI - C, POSIX.1.  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()  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),  fopen(3),  fread(3),  scanf(3), puts(3), fseek(3),
       ferror(3), unlocked_stdio(3)

TRADUCTION

       Christophe Blaess, 1996-2003.