GETC |
Demande un caractère |
---|---|
Langage C | stdio.h |
Syntaxe
int getc(FILE *ptrfichier); |
Paramètres
Nom | Description |
---|---|
ptrfichier | Ce paramètre permet d'indiquer l'identificateur de fichier |
Description
Cette fonction permet d'effectuer la lecture d'un caractère dans un fichier.
Algorithme
MODULE GETC(stream) SI stream is NULL ALORS RETOURNE EOF * Flux invalide FIN SI SI stream.end_of_file est vrai ALORS RETOURNE EOF * Fin du fichier déjà atteinte FIN SI SI stream.has_error est vrai ALORS RETOURNE EOF * Flux en état d'erreur FIN SI * Lire un caractère depuis le flux char ← read_next_character_from_stream(stream) SI char = END_OF_FILE ALORS stream.end_of_file ← true RETOURNE EOF * Retourne EOF si fin du fichier atteinte FIN SI * Met à jour le pointeur du flux stream.update_cursor_position() * Retourne le caractère lu RETOURNE char |
Remarques
- Lecture d'un caractère depuis un flux de données : La fonction getc permet de lire un caractère à partir d'un flux de données, comme un fichier ou l'entrée standard. Elle prend en paramètre un pointeur vers un objet de type FILE et retourne le caractère lu sous forme de int. Cette fonction est souvent utilisée pour traiter des fichiers ou des entrées ligne par ligne.
- Retourne un entier pour la gestion des erreurs : getc retourne le caractère lu sous forme d'un entier (int), ce qui permet de différencier un caractère valide de la valeur de fin de fichier (EOF). En cas d'erreur ou si la fin du fichier est atteinte, elle retourne EOF, ce qui est égal à une valeur négative, typiquement -1.
- Lecture séquentielle : La fonction getc effectue une lecture séquentielle des caractères du flux de données, un à un. Cela signifie que pour lire plusieurs caractères d'un fichier, getc doit être appelée à plusieurs reprises, ce qui peut ne pas être aussi performant que des lectures en bloc pour des fichiers volumineux.
- Comportement identique à fgetc : getc et fgetc ont un comportement identique. La principale différence réside dans la façon dont elles sont implémentées : getc est souvent définie comme une macro, tandis que fgetc est une fonction, mais dans la plupart des implémentations, elles sont interchangeables et agissent de la même manière.
- Utilisation dans les boucles de lecture : getc est souvent utilisée dans des boucles while ou for pour lire un fichier caractère par caractère. Par exemple, dans une boucle while (getc(file) != EOF), cette méthode permet de traiter un fichier jusqu'à ce que la fin soit atteinte, ce qui est très courant dans la lecture de fichiers texte.
- Manipulation de l'entrée standard : Bien que getc soit principalement utilisée pour lire des fichiers, elle peut également être utilisée pour lire l'entrée standard (par exemple, l'utilisateur entre des caractères via le clavier). Dans ce cas, elle est utilisée pour récupérer un caractère d'entrée au fur et à mesure qu'il est saisi.
- Précautions avec les fichiers binaires : Lorsque vous travaillez avec des fichiers binaires, il faut faire attention à l'utilisation de getc, car cette fonction peut ne pas fonctionner comme prévu pour des données non-textuelles. Dans ce cas, il est préférable d'utiliser des fonctions comme fread pour traiter des données binaires de manière plus sécurisée et appropriée.
- Gestion des erreurs et EOF : Une limitation de getc est qu'elle ne fournit pas de détails sur la nature des erreurs autres que la fin de fichier. Si une erreur autre que EOF survient, getc retourne également EOF, et il peut être nécessaire d'utiliser ferror pour distinguer si la fin du fichier a été atteinte ou si une erreur d'entrée/sortie est survenue.
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 de procédures et fonctions - fgetc
Langage de programmation - C - Référence de procédures et fonctions - getchar
Langage de programmation - C - Référence de procédures et fonctions - putc
Langage de programmation - C - Référence de procédures et fonctions - putchar
Langage de programmation - C - Référence de procédures et fonctions - ungetc
Langage de programmation - C++ - Référence de procédures et fonctions - getc
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 732.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 122.