Section courante

A propos

Section administrative du site

FGETS

Demande une chaine dans un fichier
Langage C stdio.h

Syntaxe

char *fgets(char *str,int n,FILE *ptrfichier);

Paramètres

Nom Description
ptrfichier Ce paramètre permet d'indiquer l'identificateur de fichier
n Ce paramètre permet d'indiquer le nombre de caractères maximal pouvant être lu
str Ce paramètre permet d'indiquer la chaîne de caractères recevant les données

Description

Cette fonction effectue la lecture d'une chaîne de caractères dans un fichier.

Algorithme

MODULE fgets(str, n, stream)
   SI stream est invalide ou n ≤ 0 ALORS
      RETOURNE NULL * Le flux est invalide ou la taille est incorrecte
   FIN SI
   i ← 0
   BOUCLE TANT QUE i < n - 1 * Lire jusqu'à n - 1 caractères maximum
      character ← lire le caractère suivant du stream
      SI le caractère est la fin du fichier ALORS
         SI i = 0 ALORS
            RETOURNE NULL * Fin de fichier atteinte sans lecture
         FIN SI
         break
      FIN SI
      str[i] ← character
      i ← i + 1

      SI le caractère est une nouvelle ligne ALORS
         break * Fin de la ligne atteinte
      FIN SI
   FIN BOUCLE TANT QUE
   str[i] ← '\0' * Terminer la chaîne avec un caractère nul
   RETOURNE str

Remarques

Exemple

Prenons pour acquis que le fichier «readtext.txt» est le contenu :

Un
Deux
Trois
Quatre
Cinq
Six
Sept
Huit
Neuf
Dix
Onze
Douze
Treize
Quatorze
Quinze
Seize

Voici un exemple montrant une utilisation plus classique de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     FILE * Handle = fopen("readtext.txt", "r");
  7.     if(Handle != NULL) {
  8.         char Temp[255];
  9.         int I;
  10.         for(I = 1; I <= 16; I++) {
  11.             fgets(&Temp,255,Handle);
  12.             printf("%i:%s",I,Temp);
  13.         }
  14.         fclose(Handle);
  15.     }
  16.     return 0;
  17. }

on obtiendra le résultat suivant :

1:Un
2:Deux
3:Trois
4:Quatre
5:Cinq
6:Six
7:Sept
8:Huit
9:Neuf
10:Dix
11:Onze
12:Douze
13:Treize
14:Quatorze
15:Quinze
16:Seize

Voir également

Langage de programmation - C - Référence procédures et fonctions - fgetc
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 - fgets

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.

Dernière mise à jour : Mardi, le 28 juillet 2015