table of contents
- trixie 4.27.0-1
- trixie-backports 4.28.0-2~bpo13+2
- testing 4.28.0-2
- unstable 4.29.1-1
| stdio(3) | Library Functions Manual | stdio(3) |
NOM¶
stdio - Bibliothèque standard de fonctions d'entrées-sorties
BIBLIOTHÈQUE¶
Bibliothèque C standard (libc, -lc)
SYNOPSIS¶
#include <stdio.h>
extern FILE *stdin; extern FILE *stdout; extern 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.
A stream is associated with an external file (which may be a physical device) by opening a file, which may involve creating a new file. Creating an existing file causes its former contents to be discarded. If a file can support positioning requests (such as a disk file, as opposed to a terminal), then a file position indicator associated with the stream is positioned at the start of the file (byte zero), unless the file is opened with append mode. If append mode is used, it is unspecified whether the position indicator will be placed at the start or the end of the file. The position indicator is maintained by subsequent reads, writes, and positioning requests. All input occurs as if the characters were read by successive calls to the fgetc(3) function; all output takes place as if all characters were written by successive calls to the fputc(3) function.
A file is disassociated from a stream by closing the file. Output streams are flushed (any unwritten buffer contents are transferred to the host environment) before the stream is disassociated from the file. The value of a pointer to a FILE object is indeterminate after a file is closed (garbage).
A file may be subsequently reopened, by the same or another program execution, and its contents reclaimed or modified (if it can be repositioned at the start). If the main function returns to its original caller, or the exit(3) function is called, all open files are closed (hence all output streams are flushed) before program termination. Other methods of program termination, such as abort(3) do not bother about closing files properly.
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).
The stdio library is a part of the library libc and routines are automatically loaded as needed by cc(1). The SYNOPSIS sections of the following manual pages indicate which include files are to be used, what the compiler declaration for the function looks like, and which external variables are of interest.
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.
| 21 septembre 2025 | Pages du manuel de Linux 6.16 |