stdio(3) Library Functions Manual stdio(3) NOM stdio - Bibliotheque standard de fonctions d'entrees-sorties BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include FILE *stdin; FILE *stdout; FILE *stderr; DESCRIPTION Cette bibliotheque standard fournit une interface simple et efficace pour les entrees-sorties avec tampons. Les entrees et les sorties sont projetees dans des flux de donnees logiques et les caracteristiques des entrees-sorties physiques sont masquees. Les fonctions et les macros sont presentees rapidement ci-dessous. Des informations supplementaires sont disponibles dans leurs pages de manuel individuelles. Un flux est associe avec un fichier externe (qui peut aussi etre un dispositif physique) en ouvrant un fichier (cela peut impliquer la creation d'un nouveau fichier). La creation d'un fichier deja existant efface son contenu precedent. Si un fichier gere les demandes de positionnement (par exemple un fichier sur disque, contrairement a un terminal), alors l'indicateur de position du fichier associe au flux est place au debut du fichier (octet zero), a moins que le fichier soit ouvert en mode d'ajout. Si le mode d'ajout est utilise, l'indicateur de position est place soit au debut ou a la fin du fichier. L'indicateur de position est mis a jour apres chaque lecture, ecriture ou repositionnement. Toutes les entrees se deroulent comme si les caracteres etaient lus par des appels successifs a la fonction fgetc(3). Toutes les sorties ont lieu comme si les caracteres etaient envoyes a des appels successifs a la fonction fputc(3). Un fichier est dissocie d'un flux en fermant le fichier. Les flux de sortie sont vides (flush) avant que le flux soit dissocie du fichier. Cela signifie que le contenu des tampons pas encore ecrits est transfere dans l'environnement de l'hote. La valeur d'un pointeur sur un objet FILE (fichier) est indefinie apres la fermeture d'un fichier. Un fichier peut etre reouvert plus tard par le meme programme ou par un autre et son contenu relu ou modifie (si on peut placer l'indicateur de positionnement au debut). Si la fonction main() se termine, ou si la fonction exit(3) est invoquee, tous les fichiers sont fermes (tous les tampons de sortie sont transferes par fflush(3)) avant la fin du programme. Les autres methodes d'abandon du programme telles que abort(3) ne s'occupent pas de fermer proprement les fichiers. Au demarrage du programme, trois flux de texte sont predefinis et n'ont pas besoin d'etre ouverts explicitement : l'entree standard (pour la lecture de l'entree conventionnelle), la sortie standard (pour l'ecriture de la sortie conventionnelle) et le flux d'erreur standard (pour l'ecriture de la sortie de diagnostiques). Ces flux sont abreges stdin, stdout et stderr. A l'ouverture, le flux d'erreur n'a pas de tampon complet, l'entree et la sortie standard ont des tampons complets, si et seulement si, ils ne se referent pas a un peripherique interactif. Les flux de sortie qui s'adressent a un peripherique terminal disposent toujours d'un tampon de ligne par defaut. Les caracteres sont conserves dans le tampon jusqu'a un saut de ligne ou jusqu'a ce qu'une lecture soit demandee sur un flux associe au meme terminal. Il peut etre necessaire de declencher intentionnellement l'ecriture effective sur le terminal en invoquant fflush(3). La bibliotheque standard stdio fait partie de la bibliotheque libc et ses routines sont chargees automatiquement par cc(1). Les sections SYNOPSIS des pages de manuel mentionnees plus bas indiquent les fichiers d'en-tete necessaires, l'allure des declarations de fonctions du compilateur et quelles sont les variables externes utiles. Les noms ci-dessous correspondent a des macros. On ne peut pas les reutiliser sans supprimer leur definition precedente 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 definitions sous forme de fonctions des macros feof, ferror, clearerr, fileno, getc, getchar, putc et putchar qui seront utilisees si la definition de la macro est explicitement supprimee. Liste des fonctions Fonction Description ------------------------------------------------------------------------ clearerr(3) verifie et reinitialise l'etat d'un flux fclose(3) ferme un flux fdopen(3) fonctions d'ouverture de flux feof(3) verifie et reinitialise l'etat d'un flux ferror(3) verifie et reinitialise l'etat d'un flux fflush(3) transfere les tampons d'un flux fgetc(3) lit le caractere ou le mot suivant depuis un flux d'entree 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) open memory as stream fopen(3) fonctions d'ouverture de flux fopencookie(3) open a custom stream fprintf(3) conversion de sortie formatee fpurge(3) transfere les tampons d'un flux fputc(3) ecriture d'un caractere ou d'un mot dans un flux fputs(3) ecriture d'une ligne dans un flux fread(3) flux binaire d'entree-sortie freopen(3) fonctions d'ouverture de flux fscanf(3) lecture de donnees formatees fseek(3) repositionne un flux fsetpos(3) repositionne un flux ftell(3) repositionne un flux fwrite(3) flux binaire d'entree-sortie getc(3) lit le caractere ou le mot suivant depuis un flux d'entree getchar(3) lit le caractere ou le mot suivant depuis un flux d'entree gets(3) lit une ligne depuis un flux getw(3) lit le caractere ou le mot suivant depuis un flux d'entree mktemp(3) creer un nom de fichier temporaire unique open_memstream(3) open a dynamic memory buffer stream open_wmemstream(3) open a dynamic memory buffer stream perror(3) messages d'erreur systeme printf(3) conversion de sortie formatee putc(3) ecriture d'un caractere ou d'un mot dans un flux putchar(3) ecriture d'un caractere ou d'un mot dans un flux puts(3) ecriture d'une ligne dans un flux putw(3) ecriture d'un caractere ou d'un mot dans un flux remove(3) supprimer une entree de repertoire rewind(3) repositionne un flux scanf(3) lecture de donnees formatees 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 formatee sscanf(3) lecture de donnees formatees strerror(3) messages d'erreur systeme sys_errlist(3) messages d'erreur systeme sys_nerr(3) messages d'erreur systeme tempnam(3) routines de fichier temporaire tmpfile(3) routines de fichier temporaire tmpnam(3) routines de fichier temporaire ungetc(3) remettre un caractere dans un flux d'entree vfprintf(3) conversion de sortie formatee vfscanf(3) lecture de donnees formatees vprintf(3) conversion de sortie formatee vscanf(3) lecture de donnees formatees vsprintf(3) conversion de sortie formatee vsscanf(3) lecture de donnees formatees 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 francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Frederic Hantrais et Gregoire Scano Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 29 decembre 2023 stdio(3)