Retour Suite Index

4.2. Lecture formatée de données

Comme pour l'écriture de donnée, nous avons besoin d'inclure les fichier iostream.h et fstream.h comme suit:


   include <iostream.h>
   include <fstream.h>

Pour manipuler le fichier nous avnons besoin comme précédemment de déclarer un flux.


   fstream fichier;

L'étape suivante consiste à ouvrir le fichier physiquement en ratachant le flux "fichier" au fichier physique. L'ouverture en lecture se fait par la ligne de code suivante :


   fichier.open("test.dat",ios::in);

La lecture d'une donnée dans un fichier se fait de manière similaire à la lecture d'une donnée à partir du clavier (si on utilise les flux). La lecture d'une donnée de type réel se fait en utilisant une variable de type réel. On doit donc savoir à l'avance quel type de données on veut récupérer.


   float donnee;
   fichier>>donnee;

Si on veut lire toutes les données contenues dans un fichier, on devra utiliser une boucle non itérative (while ou do-while) car on ne connait pas forcément le nombre de données à récupérer. On poursuit la boucle jusqu'à ce que la fin du fichier soit atteinte.


  fichier>>donnee;
  while(!fichier.eof())
    {
     //traitement de la donnée
     fichier>>donnee;
    }
  //suite du programme

Enfin n'oublions pas de fermer tous les fichiers ouverts avant la fin du programme:


  fichier.close();

Retour Suite Index