English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base du langage C

Contrôle de flux de langage C

Fonctions en langage C

Tableaux en langage C

Pointeurs en langage C

Chaînes de caractères en langage C

Structure de langage C

Fichier de langage C

Autres C

Manuel de référence du langage C

Bibliothèque standard C <stdio.h>

stdio.h Le fichier d'en-tête définit trois types de variables, quelques macros et diverses fonctions pour effectuer les entrées et sorties.

Variables de bibliothèque

Voici les types de variables définis dans le fichier d'en-tête stdio.h :

NuméroVariable & Description
1size_t
C'est un type de nombre entier sans signe, il est sizeof Résultat de la clé.
2FILE
C'est un type d'objet adapté pour stocker des informations sur le flux de fichier.
3fpos_t
C'est un type d'objet adapté pour stocker n'importe quel emplacement dans un fichier.

Macros de bibliothèque

Voici les macros définies dans le fichier d'en-tête stdio.h :

NuméroMacro & Description
1NULL
La valeur de cette macro est une constante de pointeur nul.
2_IOFBF、_IOLBF et _IONBF
Ces macros étendent les expressions de constantes entières avec des valeurs spécifiques et sont applicables setvbuf Le troisième paramètre de la fonction.
3BUFSIZ
Cette macro est un entier, représentant setbuf Taille du tampon utilisée par la fonction.
4EOF
Cette macro est un entier négatif représentant la fin de fichier atteinte.
5FOPEN_MAX
Cette macro est un entier, représentant le nombre maximal de fichiers que le système peut ouvrir en même temps.
6FILENAME_MAX
Cette macro est un entier, représentant la longueur maximale que peut stocker un tableau de caractères, la longueur maximale d'un nom de fichier. Si l'implémentation n'a aucune restriction, cette valeur devrait être la valeur maximale recommandée.
7L_tmpnam
Cette macro est un entier, représentant la longueur maximale que peut stocker un tableau de caractères, les noms de fichiers temporaires générés par la fonction tmpnam.
8SEEK_CUR, SEEK_END et SEEK_SET
Ces macros sont dans fseek Utilisé dans les fonctions pour localiser différentes positions dans un fichier.
9TMP_MAX
Cette macro est le nombre maximal de noms de fichiers uniques générés par la fonction tmpnam.
10stderr, stdin et stdout
Ces macros sont des pointeurs vers le type FILE, correspondant respectivement aux flux d'erreur standard, d'entrée standard et de sortie standard.

Fonctions de bibliothèque

Voici les fonctions définies dans l'en-tête stdio.h :

Pour mieux comprendre les fonctions, apprenez ces fonctions suivant l'ordre ci-dessous, car le fichier créé par la première fonction sera utilisé dans les fonctions suivantes.

NuméroFonction & Description
1int fclose(FILE *stream)
Ferme le flux stream. Rafraîchit tous les tampons.
2void clearerr(FILE *stream)
Efface les identifiants de fin de fichier et d'erreur du flux donné stream.
3int feof(FILE *stream)
Teste l'identifiant de fin de fichier du flux donné stream.
4int ferror(FILE *stream)
Teste l'identifiant d'erreur du flux donné stream.
5int fflush(FILE *stream)
Rafraîchit le tampon de sortie du flux stream.
6int fgetpos(FILE *stream, fpos_t *pos)
Obtient la position actuelle du flux stream et l'écrit dans pos.
7FILE *fopen(const char *filename, const char *mode)
Ouvre le fichier pointé par filename avec le mode donné.
8size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Lit les données du flux donné stream dans l'array pointée par ptr.
9FILE *freopen(const char *filename, const char *mode, FILE *stream)
Liens un nouveau nom de fichier filename avec le flux ouvert donné, en fermant l'ancien fichier dans le flux.
10int fseek(FILE *stream, long int offset, int whence)
设置流 stream 的文件位置为给定的偏移 offset,参数 offset 意味着从给定的 whence 位置查找的字节数。
11int fsetpos(FILE *stream, const fpos_t *pos)
设置给定流 stream 的文件位置为给定的位置。参数 pos 是由函数 fgetpos 给定的位置。
12long int ftell(FILE *stream)
返回给定流 stream 的当前文件位置。
13size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
将 ptr 所指向的数组中的数据写入到给定流 stream 中。
14int remove(const char *filename)
删除给定的文件名 filename,以便它不再被访问。
15int rename(const char *old_filename, const char *new_filename)
将 old_filename 所指向的文件名改为 new_filename。
16void rewind(FILE *stream)
设置文件位置为给定流 stream 的文件的开头。
17void setbuf(FILE *stream, char *buffer)
定义流 stream 应如何缓冲。
18int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
另一个定义流 stream 应如何缓冲的函数。
19FILE *tmpfile(void)
以二进制更新模式(wb+)创建临时文件。
20char *tmpnam(char *str)
生成并返回一个有效的临时文件名,该文件名之前是不存在的。
21int fprintf(FILE *stream, const char *format, ...)
将格式化输出发送到流 stream 中。
22int printf(const char *format, ...)
将格式化输出发送到标准输出 stdout。
23int sprintf(char *str, const char *format, ...)
将格式化输出发送到字符串。
24int vfprintf(FILE *stream, const char *format, va_list arg)
使用参数列表将格式化输出发送到流 stream 中。
25int vprintf(const char *format, va_list arg)
Envoyer une sortie formatée à la sortie standard stdout en utilisant la liste des paramètres.
26int vsprintf(char *str, const char *format, va_list arg)
Envoyer une sortie formatée à la chaîne en utilisant la liste des paramètres.
27int fscanf(FILE *stream, const char *format, ...)
Lire l'entrée formatée à partir du flux stream.
28int scanf(const char *format, ...)
Lire l'entrée formatée à partir de l'entrée standard stdin.
29int sscanf(const char *str, const char *format, ...)
Lire l'entrée formatée à partir de la chaîne.
30int fgetc(FILE *stream)
Obtenir le prochain caractère (un caractère sans signe) du flux spécifié stream, et déplacer l'indicateur de position vers l'avant.
31char *fgets(char *str, int n, FILE *stream)
Lire une ligne du flux spécifié stream et la stocker dans la chaîne de caractères pointée par str. Lorsque (n-1) elle s'arrête lorsque le nombre de caractères spécifié est atteint, ou lorsque le retour chariot est lu, ou lorsque la fin du fichier est atteinte, selon le cas.
32int fputc(int char, FILE *stream)
Écrire le caractère spécifié par le paramètre char (un caractère sans signe) dans le flux spécifié stream, et déplacer l'indicateur de position vers l'avant.
33int fputs(const char *str, FILE *stream)
Écrire une chaîne de caractères dans le flux spécifié stream, sans inclure le caractère de fin de chaîne.
34int getc(FILE *stream)
Obtenir le prochain caractère (un caractère sans signe) du flux spécifié stream, et déplacer l'indicateur de position vers l'avant.
35int getchar(void)
Obtenir un caractère (un caractère sans signe) de l'entrée standard stdin.
36char *gets(char *str)
Lire une ligne de l'entrée standard stdin et la stocker dans la chaîne de caractères pointée par str. Elle s'arrête lorsque le retour chariot est lu, ou lorsque la fin du fichier est atteinte, selon le cas.
37int putc(int char, FILE *stream)
Écrire le caractère spécifié par le paramètre char (un caractère sans signe) dans le flux spécifié stream, et déplacer l'indicateur de position vers l'avant.
38int putchar(int char)
Écrire le caractère spécifié par le paramètre char (un caractère sans signe) dans la sortie standard stdout.
39int puts(const char *str)
Écrire une chaîne de caractères dans la sortie standard stdout jusqu'au caractère de fin de chaîne, mais sans inclure ce caractère. Un retour chariot est ajouté à la sortie.
40int ungetc(int char, FILE *stream)
Insérer le caractère char (un caractère sans signe) dans le flux spécifié stream, de sorte qu'il soit le prochain caractère lu.
41void perror(const char *str)
Sortir un message d'erreur descriptif vers l'erreur standard stderr. Sortir d'abord la chaîne str, suivie d'un deux-points, puis d'un espace.
42int snprintf(char *str, size_t size, const char *format, ...)
Formatte la chaîne de caractères dans str.