FGETC(3)

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

SYNOPSIS
#include <stdio.h>

int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar(void);

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

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 é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).

VALEUR RENVOYÉE
fgetc(), getc(), and getchar() return the character read as an unsigned char cast to an int or EOF on end of file or error.

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.

ATTRIBUTS
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

CONFORMITÉ
POSIX.1-2001, POSIX.1-2008, C89, 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.

VOIR AUSSI
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)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 à debian-l10n-french@lists.debian.org.