NOM¶
stdio - Bibliothèque standard de fonctions d'entrées-sorties
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 (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
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é à 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 :
l'entrée standard (pour la lecture des
données),
la sortie standard (pour l'écriture des
données), et
le flux d'erreur 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) du flux |
|
fourni en paramètre. |
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. |
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.65 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Nicolas François
et l'équipe francophone de traduction de Debian (2006-2009).
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> ».