Utilisateur:Zerk/Bac à sable
stdio.h, pour "Standard Input/Output Header" ou "En-tête d'Entrée/Sortie Standard", est le fichier d'en-tête de la bibliothèque standard C contenant les macros, les constantes et les définitions de fonctions utilisées dans les opérations d'entrée/sortie. Il descend du "portable I/O package" (ou "paquet d'entrée/sortie portable") écrit par Mike Lesk dans les Laboratoires Bell au début des années 70. C++, pour des raisons de compatibilité, intègre stdio.h
ainsi qu'un équivalent, cstdio.
Les fonctions déclarées dans stdio.h
sont extrêmement populaires car, faisant partie de la bibliothèque standard de C, elles sont garanties de fonctionner sur n'importe quelle plate-forme supportant C. Certaines applications dédiées à une plate-forme particulière peuvent cependant avoir des raisons d'utiliser les routines d'entrée/sortie de cette plate-forme, plutôt que celles fournies par stdio.h
.
Exemple d'utilisation
modifierToutes les fonctions en C (et ses nombreux dérivés) sont déclarées dans des fichiers d'en-tête. Ainsi, les programmeurs doivent inclure le fichier d'en-tête stdio.h
dans leur code source pour pouvoir utiliser les fonctions déclarées dans celui-ci.
#include <stdio.h>
int main(void)
{
int ch;
while ((ch = getchar()) != EOF)
putchar(ch);
putchar('\n');
return 0;
}
Le programme ci-dessus lit la totalité des données envoyées sur l'entrée standard et les renvoie sur la sortie standard, byte par byte, et ajoute un retour à la ligne à la fin de cette sortie.
Fonctions
modifierLes fonctions déclarées dans stdio.h
peuvent généralement être divisées en deux catégories : les fonctions de manipulation de fichiers et les fonctions d'entrée-sortie.
Nom | Notes |
---|---|
Fonctions de manipulation de fichier | |
fclose |
ferme le flux associé au FILE * passé en argument |
fopen, freopen, fdopen |
ouvre un fichier pour certains types de lecture ou d'écriture |
remove |
supprime une entrée de répertoire (la détruit) |
rename |
renomme un fichier |
rewind |
acts as if fseek(stream, 0L, SEEK_SET) was called for the stream passed, and then its error indicator cleared |
tmpfile |
crée un fichier temporaire et ouvre un flux vers celui-ci. Le fichier sera détruit une fois le flux fermé par fclose() |
Input-output manipulation functions | |
clearerr |
nettoie les indicateurs "End-of-file" et les indicateurs d'erreur pour un flux passé en argument |
feof |
vérifie si un indicateur "EOF" est présent dans le flux passé en argument |
ferror |
checks whether an error indicator has been set for a given stream |
fflush |
forces any pending buffered output to be written to the file associated with a given stream |
fgetpos |
stores the file position indicator of the stream associated by its first argument (a FILE *) to its second argument (a fpos_t *) |
fgetc |
retourne un caractère depuis un fichier |
fgets |
récupère une chaine de caractères depuis un fichier (se terminant au caractère "newline" (\n) ou au EOF) |
fputc |
écrit un caractère dans un fichier |
fputs |
écrit une chaine de caractères dans un fichier |
ftell |
returns a file-position indicator which can then be passed to fseek |
fseek |
seeks through a file |
fsetpos |
sets the file position indicator of a stream associated by its first argument (a FILE *) as stored in its second argument (a fpos_t *) |
fread |
reads data from a file |
fwrite |
writes data to a file |
getc |
reads and returns a character from a given stream and advances the file position indicator; it is allowed to be a macro with the same effects as fgetc, except that it may evaluate the stream more than once |
getchar |
has the same effects as getc(stdin) |
gets |
reads characters from stdin until a newline is encountered and stores them in its only argument |
printf, vprintf |
used to print to the standard output stream |
fprintf, vfprintf |
used to print to a file |
sprintf, snprintf, vsprintf |
used to print to a char array (C string) |
perror |
writes an error message to stderr |
putc |
writes and returns a character to a stream and advances the file position indicator for it; it is allowed to be a macro with the same effects as fputc, except that it may evaluate the stream more than once |
putchar, fputchar |
has the same effects as putc(stdout) |
scanf, vscanf |
lit des données depuis le flux d'entrée standard |
fscanf, vfscanf |
lit des données depuis un flux formaté |
sscanf, vsscanf |
lit des données depuis un tableau de char (e.g., a C string) |
setbuf |
|
setvbuf |
permet d'agir sur le tampon d'un flux ouvert |
tmpnam |
créé un nom de fichier temporaire |
ungetc |
remet/retourne un caractère dans un flux d'entrée |
puts_(C) |
renvoie une chaine de caractères à la sortie standard |
Liens externes
modifierSources
modifier- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « stdio.h » (voir la liste des auteurs).