![]() |
|
![]() |
Il peut être utile d'écrire et/ou de lire des informations dans un fichier. Ce fichier peut être de type texte ou binaire (formaté). L'avantage du premier est sa lisibilité (un simple éditeur permet de visualiser son contenu) ; le second est plus économique en place occupée sur le disque dur ; L'inconvénient est que la lecture est plus délicate : il faut connaître la structure des données qu'il contient.
#include<iostream>
#include<fstream> // utilisation des fichiers
using namespace std;
void EcrireNb()
{
ofstream Sortie(nombre.txt);// ouverture en ecriture
Sortie«2.5« «3.8«endl;
Sortie«5.2« «5.3«endl;
Sortie«1.5« «2.901«endl;
Sortie.close(); // fermeture du fichier
}
void Ecrire()
{
ofstream Sortie(bidon.txt);// ouverture en ecriture
Sortie«Voici une ligne«endl;
Sortie«et voici une autre ligne«endl;
Sortie.close(); // fermeture du fichier
}
![]() | |
![]() | |
![]() | |
![]() |
#include<fstream> // utilisation des fichiers
using namespace std;
void LireNb()
{
ifstream Entree(nombre.txt);// ouverture en lecture.
double x,y;
while (Entree»x»y)
cout«x« + «y« = «x+y«endl;
Entree.close(); // fermeture du fichier
}
void LireMot()
{
ifstream Entree(bidon.txt);// ouverture en lecture.
char mot[80];
cout«--------- Mot par Mot -------«endl;
while (Entree»mot)
cout«mot«endl;
Entree.close(); // fermeture du fichier
}
void LireLigne()
{
ifstream Entree(bidon.txt);// ouverture en lecture.
char ligne[80];
cout«--------- Ligne par Ligne -------«endl;
while (Entree.getline(ligne,80))
cout«ligne«endl;
Entree.close(); // fermeture du fichier
}
![]() | |
![]() | |
![]() | |
![]() |
Enfin il est possible ouvrir un fichier en lecture et écriture simultanément en utilisant la classe fstream :
{
fstream EntreeSortie(bidon.txt,ios::in|ios::out);
char ligne[80];
EntreeSortie.getline(ligne,80);
EntreeSortie«une nouvelle ?«endl;
EntreeSortie.close(); // fermeture du fichier
}
![]() | |
![]() |
Voici 2 fonctions pour illustrer l'écriture et la lecture en binaire.
{
ofstream Sortie(bidon.bin);
int i=3;
Sortie.write((char*)&i,sizeof(int));
double x[3]={0.54,2.8,15.5};
Sortie.write((char*)x,sizeof(x));
Sortie.close();
}
void LireBin()
{
ifstream Entree(bidon.bin);
int j;
Entree.read((char*)&j,sizeof(j));
cout«j«endl;
double y[3];
Entree.read((char*)y,sizeof(y));
cout«y[0]« «y[1]« «y[2]«endl
cout«----- Acces Direct -----«endl;
double z;
Entree.seekg (sizeof(int)+sizeof(double),ios::beg) ;
Entree.read((char*)&z,sizeof(z));
cout«z«endl;
Entree.close();
}
![]() | |
![]() |
This document was generated using the LaTeX2HTML translator Version 2021 (Released January 1, 2021)
The command line arguments were:
latex2html -split 1 -html_version 3.2,math -no_navigation fichier.tex
The translation was initiated on 2025-03-11