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