Fonctions de la bibliothèque C -fgets()

Bibliothèque standard C - <stdio.h>

Description

Fonctions de la bibliothèque Cchar *fgets(char *str, int n, FILE *stream)Lit une ligne depuis le flux spécifié et la stocke dansstrdans la chaîne vers laquelle il pointe. Lors de la lecture(n-1)Lorsque n caractères ont été lus, ou qu'un saut de ligne est rencontré, ou que la fin du fichier est atteinte, elle s'arrête, selon ce qui se produit en premier.

Déclaration

Voici la déclaration de la fonction fgets().

char *fgets(char *str, int n, FILE *stream)

Paramètre

  • str-- Il s'agit d'un pointeur vers un tableau de caractères qui stocke la chaîne à lire.
  • n-- Il s'agit du nombre maximal de caractères à lire (y compris le caractère nul final). Généralement, la longueur du tableau passé comme str est utilisée.
  • stream-- Il s'agit d'un pointeur vers un objet FILE qui identifie le flux à partir duquel les caractères doivent être lus.

Valeur de retour

En cas de succès, la fonction renvoie le même paramètre str. Si la fin du fichier est atteinte ou si aucun caractère n'a été lu, le contenu de str reste inchangé et un pointeur nul est renvoyé.

Si une erreur se produit, un pointeur nul est renvoyé.

Exemple

L'exemple suivant montre l'utilisation de la fonction fgets().

Exemple

#include <stdio.h>

int main()
{
   FILE *fp;
   char str[60];

   /* Ouvrir le fichier en lecture */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("Error opening file");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* Écrire le contenu vers la sortie standard stdout */
      puts(str);
   }
   fclose(fp);
   
   return(0);
}

Supposons que nous ayons un fichier textefile.txt, dont le contenu est le suivant. Le fichier servira d'entrée dans l'exemple :

We are in 2014

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

We are in 2014

Bibliothèque standard C - <stdio.h>

autres extensions