Developpez.com - C
X

Choisissez d'abord la catégorieensuite la rubrique :

next up previous contents index
Next: E/S formattées sur fichiers Up: Les entrées-sorties Previous: Lecture et écriture par

Sous-sections

Lecture et écriture par lignes sur fichier

lecture par ligne : fgets

 

Utilisation

fgets (chaîne , taille , flot-de-données)

Sémantique des paramètres

-
chaîne est de type pointeur vers char et doit pointer vers un tableau de caractères.
-
taille est la taille en octets du tableau de caractères pointé par chaîne.
-
flot-de-données est de type pointeur vers FILE. Il pointe vers le fichier à partir duquel se fait la lecture.

Valeur rendue

La fonction fgets rend le pointeur chaîne cas de lecture sans erreur, ou NULL dans le cas de fin de fichier ou d'erreur.  





Attention
Sur fin de fichier ou erreur, fgets rend NULL et non pas EOF. Grrr ...


Description

La fonction fgets lit les caractères du fichier et les range dans le tableau pointé par chaîne jusqu'à rencontre d'un line-feed (qui est mis dans le tableau), ou rencontre de fin de fichier, ou jusqu'à ce qu'il ne reste plus qu'un seul caractère libre dans le tableau. fgets complète alors les caractères lus par un caractère null.

Utilisation typique

#include <stdio.h>
#define LONG ...
char ligne[LONG];
FILE *fi;

while (fgets(ligne,LONG,fi) != NULL)   /*  stop sur fin de fichier ou erreur  */
   {
   ...   /*   utilisation de ligne   */
   }

lecture par ligne : gets

 

Utilisation

gets (chaîne)

Sémantique des paramètres

-
chaîne est de type pointeur vers char et doit pointer vers un tableau de caractères.

Valeur rendue

gets rend un pointeur vers le tableau de caractères en cas de lecture sans erreur, ou NULL dans le cas de fin de fichier ou d'erreur.

Description

La fonction gets est un fgets sur stdin avec la différence que le line feed n'est pas mis dans chaîne. Malheureusement, l'interface de gets est une catastrophe : il n'a pas le paramètre taille qui donne la taille du tableau pointé par chaîne. Ceci interdit donc à gets toute vérification pour ne pas déborder du tableau.
Pour cette raison l'usage de gets est très fortement déconseillé 5.1

écriture par chaîne : fputs

 

Utilisation

fputs (chaîne , flot-de-données)

Sémantique des paramètres

-
chaîne est de type pointeur vers char. Pointe vers un tableau de caractères contenant une chaîne se terminant par un null.

-
flot-de-données est de type pointeur vers FILE. Il pointe vers le fichier sur lequel se fait l'écriture.  

Valeur rendue

La fonction fputs rend une valeur non négative si l'écriture se passe sans erreur, et EOF en cas d'erreur.  

Description

fputs écrit sur le fichier le contenu du tableau dont la fin est indiquée par un caractère null. Le tableau de caractères peut contenir ou non un line-feed. fputs peut donc servir indifféremment à écrire une ligne ou une chaîne quelconque.

Utilisation typique

#include <stdio.h>
#define LONG ...
char ligne[LONG];
FILE *fo;

fputs(ligne,fo);

écriture par chaîne : puts

 

Utilisation

puts (chaîne)

Sémantique des paramètres

-
chaîne est de type pointeur vers char. Pointe vers un tableau de caractères contenant une chaîne se terminant par un null.

Valeur rendue

La fonction fputs rend une valeur non négative si l'écriture se passe sans erreur, et EOF en cas d'erreur.

Description

La fonction puts est un fputs sur stdout. Elle n'est pas entaché du même vice rédhibitoire que gets, on peut donc l'utiliser.


next up previous contents index
Next: E/S formattées sur fichiers Up: Les entrées-sorties Previous: Lecture et écriture par
Bernard Cassagne
1998-12-09
Contacter le responsable de la rubrique C