STDIO

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
LISTE DES FONCTIONS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

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 buffers. 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 buffers 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 buffers de sortie sont transférés par fflush) avant la fin du programe. Les autres méthodes d'abandon du programme, telles que abort(3) ou _exit(2) 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. A l'ouverture, le flux d'erreur n'a pas de buffer, l'entrée standard et la sortie standard ont des buffers 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 peripherique terminal disposent toujours d'un buffer de ligne par défaut. Les caractères sont conservés dans le buffer 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, SEE_CUR, TMP_MAX, clearerr, feof, ferror, fileno, fropen, fwopen, 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 definition de la macro est explicitement supprimée.

LISTE DES FONCTIONS

Fonction
Description
clearerr
vérifie et réinitialise le statut d'un flux.
fclose
ferme un flux.
fdopen
fonction d'ouverture d'un flux.
feof
vérifie et réinitialise le statut d'un flux.
ferror
vérifie et réinitialise le statut d'un flux.
fflush
transfère les buffers d'un flux.
fgetc
lit le caractère ou le mot suivant depuis un flux d'entrée.
fgetline
lit une ligne depuis un flux d'entrée.
fgetpos
lit la position courante d'un flux.
fgets
lit une ligne depuis un flux d'entrée.
fileno
vérifie et réinitialise le statut d'un flux.
fopen
fonction d'ouverture d'un flux.
fprintf
écriture de données formatées.
fpurge
transfère les buffers 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.
fropen
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.
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 buffers.
setbuffer
opérations sur les buffers.
setlinebuf
opérations sur les buffers.
setvbuf
opérations sur les buffers.
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 à ANSI X3.159-1989 (``ANSI C'').

VOIR AUSSI

open(2), close(2), read(2), write(2), stdout(3)

TRADUCTION

Christophe Blaess, 1996-2003.