17.4. Entrées/sorties formatées en mode texte
![Icône de l'outil pédagogique](icon_activity.gif)
Rappelons qu'un fichier texte peut être lu/écrit avec un éditeur (il est composé de caractères ASCII). Les exemples qui suivent vont montrer qu'un programme qui manipule un fichier en accès texte est plus délicat et plus long qu’en accès binaire. Au lieu d'une ligne fwrite qui mémorise dans le fichier tout un tableau d'un coup (quelle que soit sa taille et la nature de ses éléments), il faut écrire élément après élément, voire champ après champ si les éléments sont de type structuré. C'est le prix à payer pour disposer d'un fichier consultable directement par l'utilisateur au moyen d'un éditeur... Les fonctions d'entrées/sorties formatées dans un fichier sont identiques aux entrées/sorties conversationnelles à cette différence qu'elles possèdent un argument supplémentaire : le pointeur du fichier. La position de lecture/écriture est la position courante du « curseur » dans le fichier. Ce curseur de fichier (ainsi nommé par analogie avec l'écran) se déplace automatiquement lors d’une lecture ou écriture. Les principales fonctions disponibles sont les suivantes :
fgetc( fichier ); /* lecture d'un caractère */ Nous allons voir un exemple d'écriture/lecture avec fprintf/fscanf, puis un exemple de lecture avec fgets, plus simple et plus sûre.
|