NOM
stdio - Bibliothèque standard de fonctions d’entrées-sorties.
SYNOPSIS
#include <stdio.h>
FILE *stdin;
FILE *stdout;
FILE *stderr;
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 (ceci 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 supporte les demandes de
positionnement (par exemple un fichier sur disque, contrairement à un
terminal), alors lindicateur 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é à 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.
Ceci 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 l’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) 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 : lentre standard (pour la
lecture des données), la sortie standard (pour l’écriture des données),
et le flux derreur standard (pour les messages de diagnostique). Ces
flux sont nommés stdin,stdout et stderr. À l’ouverture, le flux
d’erreur n’a pas de tampon, l’entrée standard 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 les compilateurs cc(1)
et pc(1) si besoin est. 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, et 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 vérifie et réinitialise l’état d’un flux.
fclose ferme un flux.
fdopen fonction d’ouverture d’un flux.
feof vérifie et réinitialise l’état d’un flux.
ferror vérifie et réinitialise l’état d’un flux.
fflush transfère les tampons d’un flux.
fgetc lit le caractère ou le mot suivant depuis un flux d’entrée.
fgetpos repositionner un flux.
fgets lit une ligne depuis un flux d’entrée.
fileno renvoie le descripteur (de type entier) de l’argument flux.
fopen fonction d’ouverture d’un flux.
fprintf écriture de données formatées.
fpurge transfère les tampons d’un flux.
fputc écriture d’un caractère ou d’un mot dans un flux.
fputs écriture d’une ligne dans un flux.
fread entrées-sorties binaires.
freopen fonction d’ouverture d’un flux.
fscanf lecture de données formatées.
fseek repositionner un flux.
fsetpos repositionner un flux.
ftell repositionner un flux.
fwrite entrées-sorties binaires.
getc lit le caractère ou le mot suivant depuis un flux d’entrée.
getchar lit le caractère ou le mot suivant depuis un flux d’entrée.
gets lit une ligne depuis un flux d’entrée.
getw lit le caractère ou le mot suivant depuis un flux d’entrée.
mktemp créer un fichier temporaire (unique).
perror messages d’erreur système.
printf écriture de données formatées.
putc écriture d’un caractère ou d’un mot dans un flux.
putchar écriture d’un caractère ou d’un mot dans un flux.
puts écriture d’une ligne dans un flux.
putw écriture d’un caractère ou d’un mot dans un flux.
remove supprimer une entrée de répertoire.
rewind repositionner un flux.
scanf lecture de données formatées.
setbuf opérations sur les tampons.
setbuffer opérations sur les tampons.
setlinebuf opérations sur les tampons.
setvbuf opérations sur les tampons.
sprintf écriture de données formatées.
sscanf lecture de données formatées.
strerror messages d’erreur système.
sys_errlist messages d’erreur système.
sys_nerr messages d’erreur système.
tempnam créer un fichier temporaire.
tmpfile créer un fichier temporaire.
tmpnam créer un fichier temporaire.
ungetc remettre un caractère dans un flux d’entrée.
vfprintf écriture de données formatées.
vfscanf lecture de données formatées.
vprintf écriture de données formatées.
vscanf lecture de données formatées.
vsprintf écriture de données formatées.
vsscanf lecture de données formatées.
CONFORMITÉ
La bibliothèque stdio est conforme à C89.
VOIR AUSSI
close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)
COLOPHON
Cette page fait partie de la publication 3.23 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 Nicolas François
<nicolas.francois@centraliens.net> 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> ».
26 décembre 2001