Next: E/S formattées sur fichiers
Up: Les entrées-sorties
Previous: Lecture et écriture par
Sous-sections
fgets (chaîne ,
taille ,
flot-de-données)
- -
- 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.
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 ...
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.
#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 */
}
gets (chaîne)
- -
- chaîne est de type pointeur vers char et doit pointer vers un
tableau de caractères.
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.
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
fputs (chaîne ,
flot-de-données)
- -
- 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.
La fonction fputs rend une valeur non négative si l'écriture se passe
sans erreur, et EOF en cas d'erreur.
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.
#include <stdio.h>
#define LONG ...
char ligne[LONG];
FILE *fo;
fputs(ligne,fo);
puts (chaîne)
- -
- chaîne est de type pointeur vers char.
Pointe vers un tableau de caractères contenant une chaîne se terminant par
un null.
La fonction fputs rend une valeur non négative si l'écriture se passe
sans erreur, et EOF en cas d'erreur.
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: E/S formattées sur fichiers
Up: Les entrées-sorties
Previous: Lecture et écriture par
Bernard Cassagne
1998-12-09