Provided by: manpages-fr-dev_4.28.0-2_all 

NOM
stdio - Bibliothèque standard de fonctions d'entrées-sorties
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <stdio.h>
FILE *stdin;
FILE *stdout;
FILE *stderr;
DESCRIPTION
Cette bibliothèque standard fournit une interface simple et efficace pour les entrées-sorties avec
tampons. Les entrées et les sorties sont projetées dans des flux de données logiques et les
caractéristiques des entrées-sorties physiques sont masquées. Les fonctions et les macros sont présentées
rapidement ci-dessous. Des informations supplémentaires sont disponibles dans leurs pages de manuel
individuelles.
Un flux est associé avec un fichier externe (qui peut aussi être un dispositif physique) en ouvrant un
fichier (cela peut impliquer la création d'un nouveau fichier). La création d'un fichier déjà existant
efface son contenu précédent. Si un fichier gère les demandes de positionnement (par exemple un fichier
sur disque, contrairement à un terminal), alors l'indicateur de position du fichier associé au flux est
placé au début du fichier (octet zéro), à moins que le fichier soit ouvert en mode d'ajout. Si le mode
d'ajout est utilisé, l'indicateur de position est placé soit au début ou à la fin du fichier.
L'indicateur de position est mis à jour après chaque lecture, écriture ou repositionnement. Toutes les
entrées se déroulent comme si les caractères étaient lus par des appels successifs à la fonction
fgetc(3). Toutes les sorties ont lieu comme si les caractères étaient envoyés à des appels successifs à
la fonction fputc(3).
Un fichier est dissocié d'un flux en fermant le fichier. Les flux de sortie sont vidés (flush) avant que
le flux soit dissocié du fichier. Cela signifie que le contenu des tampons pas encore écrits est
transféré dans l'environnement de l'hôte. La valeur d'un pointeur sur un objet FILE (fichier) est
indéfinie après la fermeture d'un fichier.
Un fichier peut être réouvert plus tard par le même programme ou par un autre et son contenu relu ou
modifié (si on peut placer l'indicateur de positionnement au début). Si la fonction main() se termine, ou
si la fonction exit(3) est invoquée, tous les fichiers sont fermés (tous les tampons de sortie sont
transférés par fflush(3)) avant la fin du programme. Les autres méthodes d'abandon du programme telles
que abort(3) ne s'occupent pas de fermer proprement les fichiers.
Au démarrage du programme, trois flux de texte sont prédéfinis et n'ont pas besoin d'être ouverts
explicitement : l'entrée standard (pour la lecture de l'entrée conventionnelle), la sortie standard (pour
l'écriture de la sortie conventionnelle) et le flux d'erreur standard (pour l'écriture de la sortie de
diagnostiques). Ces flux sont abrégés stdin, stdout et stderr. À l'ouverture, le flux d'erreur n'a pas de
tampon complet, l'entrée et la sortie standard ont des tampons complets, si et seulement si, ils ne se
réfèrent pas à un périphérique interactif.
Les flux de sortie qui s'adressent à un périphérique terminal disposent toujours d'un tampon de ligne par
défaut. Les caractères sont conservés dans le tampon jusqu'à un saut de ligne ou jusqu'à ce qu'une
lecture soit demandée sur un flux associé au même terminal. Il peut être nécessaire de déclencher
intentionnellement l'écriture effective sur le terminal en invoquant fflush(3).
La bibliothèque standard stdio fait partie de la bibliothèque libc et ses routines sont chargées
automatiquement par cc(1). Les sections SYNOPSIS des pages de manuel mentionnées plus bas indiquent les
fichiers d'en-tête nécessaires, l'allure des déclarations de fonctions du compilateur et quelles sont les
variables externes utiles.
Les noms ci-dessous correspondent à des macros. On ne peut pas les réutiliser sans supprimer leur
définition précédente avec #undef: BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_cuserid, L_ctermid, L_tmpnam,
NULL, SEEK_END, SEEK_SET, SEEK_CUR, TMP_MAX, clearerr, feof, ferror, fileno, getc, getchar, putc,
putchar, stderr, stdin, stdout. Il existe des définitions sous forme de fonctions des macros feof,
ferror, clearerr, fileno, getc, getchar, putc et putchar qui seront utilisées si la définition de la
macro est explicitement supprimée.
Liste des fonctions
Fonction Description
──────────────────────────────────────────────────────────────────────────────────────────────────────────
clearerr(3) vérifie et réinitialise l'état d'un flux
fclose(3) ferme un flux
fdopen(3) fonctions d'ouverture de flux
feof(3) vérifie et réinitialise l'état d'un flux
ferror(3) vérifie et réinitialise l'état d'un flux
fflush(3) transfère les tampons d'un flux
fgetc(3) lit le caractère ou le mot suivant depuis un flux d'entrée
fgetpos(3) repositionne un flux
fgets(3) lit une ligne depuis un flux
fileno(3) renvoie le descripteur (de type entier) du flux fourni en argument
fmemopen(3) ouverture de la mémoire en tant que flux
fopen(3) fonctions d'ouverture de flux
fopencookie(3) ouverture d'un flux personnalisé
fprintf(3) conversion de sortie formatée
fpurge(3) transfère les tampons d'un flux
fputc(3) écriture d'un caractère ou d'un mot dans un flux
fputs(3) écriture d'une ligne dans un flux
fread(3) flux binaire d'entrée-sortie
freopen(3) fonctions d'ouverture de flux
fscanf(3) lecture de données formatées
fseek(3) repositionne un flux
fsetpos(3) repositionne un flux
ftell(3) repositionne un flux
fwrite(3) flux binaire d'entrée-sortie
getc(3) lit le caractère ou le mot suivant depuis un flux d'entrée
getchar(3) lit le caractère ou le mot suivant depuis un flux d'entrée
gets(3) lit une ligne depuis un flux
getw(3) lit le caractère ou le mot suivant depuis un flux d'entrée
mktemp(3) créer un nom de fichier temporaire unique
open_memstream(3) ouverture d'un flux de tampon de mémoire dynamique
open_wmemstream(3) ouverture d'un flux de tampon de mémoire dynamique
perror(3) messages d'erreur système
printf(3) conversion de sortie formatée
putc(3) écriture d'un caractère ou d'un mot dans un flux
putchar(3) écriture d'un caractère ou d'un mot dans un flux
puts(3) écriture d'une ligne dans un flux
putw(3) écriture d'un caractère ou d'un mot dans un flux
remove(3) supprimer une entrée de répertoire
rewind(3) repositionne un flux
scanf(3) lecture de données formatées
setbuf(3) agir sur les tampons d'un flux
setbuffer(3) agir sur les tampons d'un flux
setlinebuf(3) agir sur les tampons d'un flux
setvbuf(3) agir sur les tampons d'un flux
sprintf(3) conversion de sortie formatée
sscanf(3) lecture de données formatées
strerror(3) messages d'erreur système
sys_errlist(3) messages d'erreur système
sys_nerr(3) messages d'erreur système
tempnam(3) routines de fichier temporaire
tmpfile(3) routines de fichier temporaire
tmpnam(3) routines de fichier temporaire
ungetc(3) remettre un caractère dans un flux d'entrée
vfprintf(3) conversion de sortie formatée
vfscanf(3) lecture de données formatées
vprintf(3) conversion de sortie formatée
vscanf(3) lecture de données formatées
vsprintf(3) conversion de sortie formatée
vsscanf(3) lecture de données formatées
STANDARDS
C11, POSIX.1-2008.
HISTORIQUE
C89, POSIX.1-2001.
VOIR AUSSI
close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)
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>, Frédéric Hantrais <fhantrais@gmail.com> et Grégoire Scano <gregoire.scano@malloc.fr>
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 à
debian-l10n-french@lists.debian.org.
Pages du manuel de Linux 6.9.1 2 mai 2024 stdio(3)