File input/output
L'en-tête <stdio.h> fournit une prise en charge générique des opérations sur les fichiers et propose des fonctions avec des capacités d'entrée/sortie de caractères étroits.
L'en-tête <wchar.h> fournit des fonctions avec des capacités d'entrée/sortie de caractères larges.
Les flux d'E/S sont désignés par des objets de type FILE qui ne peuvent être accédés et manipulés que par des pointeurs de type FILE * . Chaque flux est associé à un dispositif physique externe (fichier, flux d'entrée standard, imprimante, port série, etc).
Table des matières |
Types
|
Défini dans l'en-tête
<stdio.h>
|
|
|
type d'objet, capable de contenir toutes les informations nécessaires pour contrôler un flux d'E/S C
(typedef) |
|
|
type d'objet complet non-tableau, capable de spécifier de manière unique une position et un état d'analyseur multioctet dans un fichier
(typedef) |
|
Flux standards prédéfinis
|
Défini dans l'en-tête
<stdio.h>
|
|
|
expression de type
FILE
*
associée au flux d'entrée
expression de type FILE * associée au flux de sortie expression de type FILE * associée au flux de sortie d'erreur (constante macro) |
|
Fonctions
Accès aux fichiers |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
(C11)
|
ouvre un fichier
(fonction) |
|
(C11)
|
ouvrir un flux existant avec un nom différent
(fonction) |
|
ferme un fichier
(fonction) |
|
|
synchronise un flux de sortie avec le fichier réel
(fonction) |
|
|
définit le tampon pour un flux de fichier
(fonction) |
|
|
définit le tampon et sa taille pour un flux de fichier
(fonction) |
|
|
Défini dans l'en-tête
<wchar.h>
|
|
|
(C95)
|
commute un flux de fichier entre les E/S de caractères larges et les E/S de caractères étroits
(fonction) |
Entrée/sortie directe |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
lit à partir d'un fichier
(fonction) |
|
|
écrit dans un fichier
(fonction) |
|
Entrée/sortie non formatée |
|
Caractère étroit |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
obtient un caractère d'un flux de fichier
(fonction) |
|
|
obtient une chaîne de caractères depuis un flux de fichier
(fonction) |
|
|
écrit un caractère dans un flux de fichier
(fonction) |
|
|
écrit une chaîne de caractères dans un flux de fichier
(fonction) |
|
|
lit un caractère depuis
stdin
(fonction) |
|
|
(supprimé en C11)
(C11)
|
lit une chaîne de caractères depuis
stdin
(fonction) |
|
écrit un caractère dans
stdout
(fonction) |
|
|
écrit une chaîne de caractères vers
stdout
(fonction) |
|
|
remet un caractère dans un flux de fichier
(fonction) |
|
Caractère large |
|
|
Défini dans l'en-tête
<wchar.h>
|
|
|
(C95)
|
obtient un caractère large d'un flux de fichier
(fonction) |
|
(C95)
|
obtient une chaîne large depuis un flux de fichier
(fonction) |
|
(C95)
|
écrit un caractère large dans un flux de fichier
(fonction) |
|
(C95)
|
écrit une chaîne large dans un flux de fichier
(fonction) |
|
(C95)
|
lit un caractère large depuis
stdin
(fonction) |
|
(C95)
|
écrit un caractère large dans
stdout
(fonction) |
|
(C95)
|
replace un caractère large dans un flux de fichier
(fonction) |
Entrée/sortie formatée |
|
Caractère étroit |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
(C11)
(C11)
(C11)
|
lit une entrée formatée depuis
stdin
, un flux de fichier ou un tampon
(fonction) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
lit une entrée formatée depuis
stdin
, un flux de fichier ou un tampon
en utilisant une liste d'arguments variables (fonction) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
imprime une sortie formatée vers
stdout
, un flux de fichier ou un tampon
(fonction) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
imprime une sortie formatée vers
stdout
, un flux de fichier ou un tampon
en utilisant une liste d'arguments variables (fonction) |
Caractère large |
|
|
Défini dans l'en-tête
<wchar.h>
|
|
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
|
lit une entrée de caractères larges formatée depuis
stdin
, un flux de fichier ou un tampon
(fonction) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
lit une entrée de caractères larges formatée depuis
stdin
, un flux de fichier
ou un tampon en utilisant une liste d'arguments variables (fonction) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
imprime une sortie formatée de caractères larges vers
stdout
, un flux de fichier ou un tampon
(fonction) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
imprime une sortie formatée de caractères larges vers
stdout
, un flux de fichier
ou un tampon en utilisant une liste d'arguments variable (fonction) |
Positionnement du fichier |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
renvoie l'indicateur de position actuel du fichier
(fonction) |
|
|
obtient l'indicateur de position du fichier
(fonction) |
|
|
déplace l'indicateur de position du fichier vers un emplacement spécifique dans un fichier
(fonction) |
|
|
déplace l'indicateur de position du fichier vers un emplacement spécifique dans un fichier
(fonction) |
|
|
déplace l'indicateur de position du fichier au début d'un fichier
(fonction) |
|
Gestion des erreurs |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
efface les erreurs
(fonction) |
|
|
vérifie la fin de fichier
(fonction) |
|
|
vérifie une erreur de fichier
(fonction) |
|
|
affiche une chaîne de caractères correspondant à l'erreur courante vers
stderr
(fonction) |
|
Opérations sur les fichiers |
|
|
Défini dans l'en-tête
<stdio.h>
|
|
|
efface un fichier
(fonction) |
|
|
renomme un fichier
(fonction) |
|
|
(C11)
|
retourne un pointeur vers un fichier temporaire
(fonction) |
|
(C11)
|
retourne un nom de fichier unique
(fonction) |
Constantes de macro
|
Défini dans l'en-tête
<stdio.h>
|
|
|
EOF
|
expression constante entière de type
int
et de valeur négative
(constante macro) |
|
FOPEN_MAX
|
nombre maximum de fichiers pouvant être ouverts simultanément
(constante macro) |
|
FILENAME_MAX
|
taille nécessaire pour un tableau de
char
pour contenir le nom de fichier le plus long supporté
(constante macro) |
|
BUFSIZ
|
taille du tampon utilisé par
setbuf
(constante macro) |
|
_IOFBF
_IOLBF
_IONBF
|
argument pour
setvbuf
indiquant une E/S entièrement tamponnée
argument pour setvbuf indiquant une E/S tamponnée par ligne argument pour setvbuf indiquant une E/S non tamponnée (constante macro) |
|
SEEK_SET
SEEK_CUR
SEEK_END
|
argument pour
fseek
indiquant un positionnement depuis le début du fichier
argument pour fseek indiquant un positionnement depuis la position courante du fichier argument pour fseek indiquant un positionnement depuis la fin du fichier (constante macro) |
|
TMP_MAX
TMP_MAX_S
(C11)
|
nombre maximum de noms de fichiers uniques pouvant être générés par
tmpnam
nombre maximum de noms de fichiers uniques pouvant être générés par tmpnam_s (constante macro) |
|
L_tmpnam
L_tmpnam_s
(C11)
|
taille nécessaire pour un tableau de
char
pour contenir le résultat de
tmpnam
taille nécessaire pour un tableau de char pour contenir le résultat de tmpnam_s (constante macro) |
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.21 Entrée/sortie <stdio.h> (p: TBD)
-
- 7.29 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p: TBD)
-
- 7.31.11 Entrée/sortie <stdio.h> (p: TBD)
-
- 7.31.16 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p: TBD)
-
- K.3.5 Entrée/sortie <stdio.h> (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.21 Entrées/sorties <stdio.h> (p: TBD)
-
- 7.29 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p: TBD)
-
- 7.31.11 Entrées/sorties <stdio.h> (p: TBD)
-
- 7.31.16 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p: TBD)
-
- K.3.5 Entrées/sorties <stdio.h> (p: TBD)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.21 Entrée/sortie <stdio.h> (p: 296-339)
-
- 7.29 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p: 402-446)
-
- 7.31.11 Entrée/sortie <stdio.h> (p: 456)
-
- 7.31.16 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p: 456)
-
- K.3.5 Entrée/sortie <stdio.h> (p: 586-603)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.19 Entrées/sorties <stdio.h> (p : 262-305)
-
- 7.24 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p : 348-392)
-
- 7.26.9 Entrées/sorties <stdio.h> (p : 402)
-
- 7.26.12 Utilitaires de caractères larges et multioctets étendus <wchar.h> (p : 402)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 4.9 ENTRÉE/SORTIE <stdio.h>
-
- 4.13.6 Entrée/sortie <stdio.h>
Voir aussi
|
Documentation C++
pour
l'entrée/sortie de fichiers de style C
|