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

modifier

Toutes 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

modifier

Les 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

modifier

Sources

modifier

Catégorie:Programmation informatique