FGETC |
Demande un caractère dans un fichier |
---|---|
Langage C | stdio.h |
Syntaxe
int fgetc(FILE *ptrfichier); |
Paramètres
Nom | Description |
---|---|
ptrfichier | Ce paramètre permet d'indiquer l'identificateur de fichier |
Description
Cette fonction effectue la lecture d'un caractère dans un fichier.
Algorithme
MODULE fgetc(stream) SI la fin du fichier a été atteinte pour le flux de données ALORS * Fin du fichier atteinte RETOURNE EOF SINON SI une erreur s'est produite lors de la lecture ALORS * Erreur de lecture RETOURNE EOF SINON Lire le caractère suivant du flux stream RETOURNE le caractère comme un entier FIN SI |
Remarques
- Lecture d'un caractère depuis un flux de données : La fonction fgetc lit un seul caractère depuis un flux de données de fichier, comme stdin, ou tout autre flux de données ouvert en lecture. Elle renvoie le caractère sous forme d'un entier (int), ce qui permet de distinguer les caractères et la valeur EOF indiquant la fin du fichier ou une erreur.
- Retour de EOF pour la fin du fichier ou erreur : Lorsque fgetc atteint la fin du fichier ou rencontre une erreur, elle retourne la constante EOF (généralement définie comme -1). Cela permet aux programmes de détecter la fin des données ou des problèmes lors de la lecture, ce qui nécessite une gestion correcte de cette valeur.
- Utilisation simple pour la lecture caractère par caractère : fgetc est souvent utilisée dans des situations où un traitement caractère par caractère est nécessaire, comme lors de l'analyse de fichiers texte ligne par ligne ou dans des applications traitant des formats binaires ou textuels spécifiques, comme les lexers.
- Comportement sur différents types de flux de données : fgetc peut être utilisée sur des flux de fichiers ouverts en mode texte ou binaire. Cependant, les différences entre les modes peuvent avoir un impact sur le traitement des caractères spéciaux, tels que les caractères de nouvelle ligne, pouvant être traités différemment selon le système d'exploitation.
- Boucles de lecture : Lors de la lecture d'un fichier entier ou d'un bloc de données, fgetc est souvent utilisée dans une boucle. La boucle continue de lire les caractères tant que la fonction ne rencontre pas EOF. Cela permet une lecture continue du fichier, avec un contrôle explicite du flux de données.
- Simplicité mais moins efficace pour les gros fichiers : Bien que fgetc soit simple à utiliser et pratique pour des fichiers de petite à moyenne taille, elle peut être moins efficace pour les fichiers très volumineux. Dans ces cas, la lecture par blocs ou l'utilisation de fonctions comme fread peut offrir de meilleures performances.
- Sécurité et gestion des erreurs : Il est important de toujours vérifier la valeur retournée par fgetc pour s'assurer que la lecture s'est bien passée. Si EOF est retourné, il est essentiel de savoir si c'est dû à la fin du fichier ou à une erreur. Cela peut être fait en utilisant la fonction feof ou ferror pour obtenir plus de détails sur l'état du flux de données.
Exemple
Prenons pour acquis que le fichier «gladir.txt» est le contenu :
gladir.comVoici un exemple montrant une utilisation plus classique de cette fonction :
Essayer maintenant !
on obtiendra le résultat suivant :
gladir.comVoir également
Langage de programmation - C - Référence procédures et fonctions - fgets
Langage de programmation - C - Référence procédures et fonctions - fprintf
Langage de programmation - C - Référence procédures et fonctions - fputc
Langage de programmation - C - Référence procédures et fonctions - fputs
Langage de programmation - C - Référence procédures et fonctions - fscanf
Langage de programmation - C - Référence procédures et fonctions - getchar
Langage de programmation - C++ - Référence procédures et fonctions - fgetc
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 731.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 98.