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();