17 - Les fichiers

Icône de l'outil pédagogique Introduction

Les fichiers permettent de stocker ou de lire des donnéees sur un support permanent tel que le disque dur. Les données sont mémorisées sous la forme d'une suite d'octets.

On peut choisir entre deux modes d'accès : binaire ou texte.

fichier rempli en mode binaire : chaque information est stockée selon les règles de codage imposées par son type. Les données ne peuvent être lues/écrites que par programme. La taille du fichier est alors optimale et les données sont facilement lues/écrites en peu d’instructions. Mais on ne peut pas éditer le fichier pour en vérifier ou en modifier le contenu.

Application : c'est le fichier le plus simple à utiliser pour faire des sauvegardes de données entre deux appels d'un programme. Il se prête aussi très bien à la gestion de bases de données.

Pour lire/écrire dans un fichier binaire, il existe deux fonctions rapides à utiliser (fread, fwrite). On peut aussi se positionner n'importe où dans le fichier (fseek).

fichier rempli en mode texte : chaque information est stockée sous la forme d’une succession de codes ASCII. Les données du fichier peuvent être créées ou consultées par l'utilisateur à l'aide d'un éditeur de texte, en plus de leur accès par programme. En contrepartie, elles occupent souvent plus de place et sont plus difficiles à manipuler par programme.

Un fichier texte est un cas particulier de fichier binaire : on peut donc le manipuler en accès binaire, avec les fonctions de lecture/écriture binaires (fread, fwrite). Mais on utilise surtout des fonctions d’entrée/sortie dites "formatées" (fprintf, fgets, fscanf,...), qui ressemblent à celles dont on dispose pour écrire à l'écran ou lire au clavier.

Application : le fichier texte est plus long et plus délicat à lire/écrire que le fichier binaire "pur". Mais il présente l'avantage d'être consultable (et modifiable) avec n'importe quel éditeur de texte, ce qui donne plus de marge de manoeuvre à l'utilisateur. C'est le fichier à employer quand l'utilisateur veut voir et manipuler les données du fichier avec un éditeur de texte.

Quel que soit le type d'accès envisagé, binaire ou texte, il faut suivre la même procédure :

– ouvrir le fichier (fonction fopen) ; on indique le nom du fichier et les détails de l'accès envisagé.

– lire ou écrire dans le fichier : on utilise les fonctions autorisées par l'accès choisi (binaire ou texte).

– fermer le fichier (fonction fclose).