fgetc, fgets, getc, getchar, ungetc - Saisie de caractères et de
chaînes
Bibliothèque C standard (
libc,
-lc)
#include <stdio.h>
int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar(void);
char *fgets(char s[restrict .size], int size, FILE *restrict stream);
int ungetc(int c, FILE *stream);
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 équivalente à
fgetc() sauf qu'elle peut
être implémentée sous forme de macro qui évalue
l'argument
stream plusieurs fois.
getchar() est équivalent à
getc(stdin).
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 est lu, il est placé dans le tampon. Un octet NULL final
(« \0 ») est placé après le dernier
caractère dans le tampon.
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 le même flux
d’entrée.
Pour des versions de ces fonctions ignorant les verrouillages, voir
unlocked_stdio(3).
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.
fgets() renvoie le pointeur
s en cas de succès 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.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
fgetc(), fgets(), getc(), getchar(),
ungetc() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99.
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 d’entrée. Les résultats
sont indéfinis, et très probablement indésirables.
read(2),
write(2),
ferror(3),
fgetwc(3),
fgetws(3),
fopen(3),
fread(3),
fseek(3),
getline(3),
gets(3),
getwchar(3),
puts(3),
scanf(3),
ungetwc(3),
unlocked_stdio(3),
feature_test_macros(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]>,
Frédéric Hantrais <
[email protected]> et Grégoire
Scano <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]