La fonction fgets lit les caractères du fichier et les range dans le
tableau pointé pa 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 */
}
La fonction gets est un fgets sur stdin.
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é
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.