SlideShare une entreprise Scribd logo
1  sur  18
1
Module : Programmation Orientée Objet C++
Les fichiers
Niveau : 2A
Equipe C++
Enseignante :
Imen Ben Mansour
Année universitaire :2021-2022
Plan
Lire à partir d'un fichier
Introduction
Ecrire dans un fichier
3
Les flux d’entrée/sortie en c++
Les entrées et les sorties en c++ sont considérées comme des flux qu’on peut considérer comme des
canaux:
● recevant de l’information dans le cas d’un flux de sortie.
● fournissant de l’information dans le cas d’un flux d’entrée.
cout: Le flux de sortie standard
(connecté par défaut à l’écran)
cin: Le flux d’entrée standard
(connecté par défaut au clavier)
4
Les flux d’entrée/sortie en c++
Un flux d'entrée est un objet de type istream tandis qu'un flot de sortie est un objet de type ostream.
Les principaux opérateurs de manipulations des flux,
qui permettent le transfert de l’information, sont:
● l’opérateur << qui permet l’écriture sur un flux de
sortie
● l’opérateur >> qui permet la lecture à partir d’un
flux d’entrée
Un flux est associé à un fichier ou à un périphérique.
Classes de manipulation des
fichiers
5
Les classes des fichiers en C++
Le langage C++ fournit les classes suivantes pour gérer des E/S sur les fichiers :
1. ofstream : c’est la classe stream utilisée pour écrire sur les fichiers et qui dérive de la classe
ostream
2. ifstream : c’est la classe stream utilisée pour lire à partir des fichiers et qui dérive de la classe
istream
3. fstream : c’est classe stream utilisée à la fois pour lire et écrire à partir de/vers des fichiers.
Les objets créés à partir de ses classes contiennent beaucoup d'informations sur les fichiers ouverts et
proposent des fonctionnalités tel que fermer le fichier, le retour au début du fichier...
Pour accéder aux fichiers en lecture/écriture, il faut inclure l'entête suivante:
#include<fstream>
6
Manipulation des fichiers en C++
Pour utiliser un fichier, plusieurs étapes sont requises :
1. Inclusion de la classe de flux qui opère sur les fichiers.
2. Créer un objet de type ofstream pour ouvrir un fichier en écriture et ifstream pour l'ouvrir en
lecture.
3. Utilisation du fichier
4. Fermeture du fichier
7
Ecrire dans un fichier: Ouverture
 L ’écriture dans un fichier se fait avec un objet ofstream. Donc, il faut créer cet objet.
Appel constructeur de la classe ofstream.
 On peut ouvrir un fichier en écriture de deux façons:
1. Utilisation de constructeur par défaut + appel de la méthode open:
ofstream nomFlux;
nomFlux,open(const char * Filename, mode)
ex: ofstream monFichier;
monFichier.open("fichier.txt") ou monFichier.open("C:/Users/ Desktop /fichier.txt");
2. Utilisation de constructeur paramétré (appel implicite de la méthode open)
ofstream nomFlux (const char * Filename, mode)
ex: ofstream monFichier("fichier.txt") ou ofstream monFichier(""C:/Users/ Desktop /fichier.txt");
8
Ecrire dans un fichier: modes d’Ouverture
Les différents modes d'ouverture en écriture sont :
ios : :app (append) ajout à la fin du fichier.
ios : :out (output) permet l'écriture.
ios : :trunc (truncate) vide le fichier à l'ouverture.
Remarques :
 Un objet ofstream a par défaut un mode d’ouverture ios_base::out | ios_base::trunc
signifiant l’ouverture en écriture et effacement de l’ancien contenu du fichier.
 Si le fichier n'existe pas, le programme le crée automatiquement !
9
Ecrire dans un fichier: Vérification d’ouverture
Des problèmes peuvent survenir lors de l'ouverture d'un fichier tels que: le fichier ne vous
appartient pas ou si le disque dur est plein. Donc, il faut toujours tester l’ouverture du fichier s'est
bien passée.
10
Ecrire dans un fichier: Opérateur <<
 L’écriture dans un fichier s’effectue comme l’affichage à l’écran avec l’opérateur <<
 Toute variable ou constante des types de base (bool, char, int, float, double, string,...) peut être
écrite.
Syntaxe pour l’écriture dans les fichiers textes :
NomFlux << Variable;
11
Ecrire dans un fichier: Exemple complet
12
Lire à partir d’un fichier: Ouverture
La lecture à partir d’un fichier se fait via un objet de type ifstream.
1. Utilisation de constructeur par défaut + appel de la méthode open:
ifstream nomFlux;
nomFlux,open(const char * Filename, mode)
2. Utilisation de constructeur paramétré (appel implicite de la méthode open)
ifstream nomFlux (const char * Filename, mode)
Remarque :
 Un ifstream a par défaut un mode d’ouverture ios_base::in ce qui signifie lecture seule.
 Si le fichier n’existe pas, une erreur sera générée.
13
Lire à partir d’un fichier: Lecture
Il existe manières différentes pour lire le contenu d’un fichier:
1. Ligne par ligne, en utilisant getline();
2. Mot par mot, en utilisant les chevrons >>;
3. Caractère par caractère, en utilisant get().
14
Lire à partir d’un fichier: Lire ligne par ligne
Lire le fichier en entier ligne par ligne :
Lire la première ligne d’un fichier :
15
Lire à partir d’un fichier: mot par mot
Il est possible de lire un entier ou un réel
16
Lire à partir d’un fichier: caractère par
caractère
17
Fermer un fichier
 En C++, la fermeture d’un fichier se fait en utilisant la méthode close():
 A la fin de protée de cet objet flux associé au fichier le destructeur de la classe utilisée sera
appelé. Si le fichier associé à l’objet flux est encore ouvert, le destructeur se contenterait
simplement d'appeler la méthode close().
18
A retenir
 Les entrées-sorties sur les fichiers sont réalisées avec des flux en C++.
 En C++, pour lire/écrire dans un fichier, on doit inclure les fichiers d'en-tête <ifstream>/ <ofstream>.
 On doit créer un objet de type ofstream pour ouvrir un fichier en écriture et ifstream pour l'ouvrir en
lecture.
 Lors de l’ouverture du fichier, si le fichier n’est pas dans le même dossier que le fichier exécutable le
chemin absolu de ce fichier doit être mentionné et non pas le nom du fichier.
 L'écriture se fait comme avec cout: monFlux << "Texte ";
 La lecture se fait comme avec cin: monFlux >> variable;

Contenu connexe

Similaire à Chapitre_Les fichiers_VF.pptx

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Mariem ZAOUALI
 
Entrees sorties
Entrees sortiesEntrees sorties
Entrees sortiesyazidds2
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralitésSinovatia
 
Ordinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdfOrdinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdfs12ber
 
Chap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxChap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxZohraQassimi
 
Le système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaLe système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaKorteby Farouk
 
Les entrées sorties
Les entrées sortiesLes entrées sorties
Les entrées sortiesJihed Kaouech
 
Les fchiers informatiques
Les fchiers informatiquesLes fchiers informatiques
Les fchiers informatiquesD1clic
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 

Similaire à Chapitre_Les fichiers_VF.pptx (20)

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
JAVA-IO.pdf
JAVA-IO.pdfJAVA-IO.pdf
JAVA-IO.pdf
 
JAVA-IO.pdf
JAVA-IO.pdfJAVA-IO.pdf
JAVA-IO.pdf
 
Entrees sorties
Entrees sortiesEntrees sorties
Entrees sorties
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Ordinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdfOrdinateur+et+système+d'exploitation 1.pdf
Ordinateur+et+système+d'exploitation 1.pdf
 
Chap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptxChap3 Communication Inter Processus.pptx
Chap3 Communication Inter Processus.pptx
 
Tubes.pdf
Tubes.pdfTubes.pdf
Tubes.pdf
 
Langage C++
Langage C++Langage C++
Langage C++
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Le système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaLe système d&rsquo;E/S en Java
Le système d&rsquo;E/S en Java
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Les entrées sorties
Les entrées sortiesLes entrées sorties
Les entrées sorties
 
Les fchiers informatiques
Les fchiers informatiquesLes fchiers informatiques
Les fchiers informatiques
 
upload en PHP
upload en PHPupload en PHP
upload en PHP
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
PHP5 et les fichiers
PHP5 et les fichiersPHP5 et les fichiers
PHP5 et les fichiers
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 

Plus de Moez Moezm

Plus de Moez Moezm (20)

chapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdfchapitre5-Classesabstraitesetinterfaces.pdf
chapitre5-Classesabstraitesetinterfaces.pdf
 
chapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfchapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdf
 
Chapitre5.pdf
Chapitre5.pdfChapitre5.pdf
Chapitre5.pdf
 
Chapitre2.pdf
Chapitre2.pdfChapitre2.pdf
Chapitre2.pdf
 
Chapitre1.pdf
Chapitre1.pdfChapitre1.pdf
Chapitre1.pdf
 
QuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdfQuelquesCommandesMySQL.pdf
QuelquesCommandesMySQL.pdf
 
TD1.pdf
TD1.pdfTD1.pdf
TD1.pdf
 
TD3 collection.pdf
TD3 collection.pdfTD3 collection.pdf
TD3 collection.pdf
 
Mpdf 9
Mpdf 9Mpdf 9
Mpdf 9
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
 
Mpdf 7
Mpdf 7Mpdf 7
Mpdf 7
 
Mpdf 6
Mpdf 6Mpdf 6
Mpdf 6
 
Mpdf 10
Mpdf 10Mpdf 10
Mpdf 10
 
Mpdf 11
Mpdf 11Mpdf 11
Mpdf 11
 
Mpdf 12
Mpdf 12Mpdf 12
Mpdf 12
 
Mpdf 13
Mpdf 13Mpdf 13
Mpdf 13
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
 
Mpdf 4
Mpdf 4Mpdf 4
Mpdf 4
 
Mpdf 3
Mpdf 3Mpdf 3
Mpdf 3
 
Mpdf 2
Mpdf 2Mpdf 2
Mpdf 2
 

Dernier

To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 

Dernier (6)

To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 

Chapitre_Les fichiers_VF.pptx

  • 1. 1 Module : Programmation Orientée Objet C++ Les fichiers Niveau : 2A Equipe C++ Enseignante : Imen Ben Mansour Année universitaire :2021-2022
  • 2. Plan Lire à partir d'un fichier Introduction Ecrire dans un fichier
  • 3. 3 Les flux d’entrée/sortie en c++ Les entrées et les sorties en c++ sont considérées comme des flux qu’on peut considérer comme des canaux: ● recevant de l’information dans le cas d’un flux de sortie. ● fournissant de l’information dans le cas d’un flux d’entrée. cout: Le flux de sortie standard (connecté par défaut à l’écran) cin: Le flux d’entrée standard (connecté par défaut au clavier)
  • 4. 4 Les flux d’entrée/sortie en c++ Un flux d'entrée est un objet de type istream tandis qu'un flot de sortie est un objet de type ostream. Les principaux opérateurs de manipulations des flux, qui permettent le transfert de l’information, sont: ● l’opérateur << qui permet l’écriture sur un flux de sortie ● l’opérateur >> qui permet la lecture à partir d’un flux d’entrée Un flux est associé à un fichier ou à un périphérique. Classes de manipulation des fichiers
  • 5. 5 Les classes des fichiers en C++ Le langage C++ fournit les classes suivantes pour gérer des E/S sur les fichiers : 1. ofstream : c’est la classe stream utilisée pour écrire sur les fichiers et qui dérive de la classe ostream 2. ifstream : c’est la classe stream utilisée pour lire à partir des fichiers et qui dérive de la classe istream 3. fstream : c’est classe stream utilisée à la fois pour lire et écrire à partir de/vers des fichiers. Les objets créés à partir de ses classes contiennent beaucoup d'informations sur les fichiers ouverts et proposent des fonctionnalités tel que fermer le fichier, le retour au début du fichier... Pour accéder aux fichiers en lecture/écriture, il faut inclure l'entête suivante: #include<fstream>
  • 6. 6 Manipulation des fichiers en C++ Pour utiliser un fichier, plusieurs étapes sont requises : 1. Inclusion de la classe de flux qui opère sur les fichiers. 2. Créer un objet de type ofstream pour ouvrir un fichier en écriture et ifstream pour l'ouvrir en lecture. 3. Utilisation du fichier 4. Fermeture du fichier
  • 7. 7 Ecrire dans un fichier: Ouverture  L ’écriture dans un fichier se fait avec un objet ofstream. Donc, il faut créer cet objet. Appel constructeur de la classe ofstream.  On peut ouvrir un fichier en écriture de deux façons: 1. Utilisation de constructeur par défaut + appel de la méthode open: ofstream nomFlux; nomFlux,open(const char * Filename, mode) ex: ofstream monFichier; monFichier.open("fichier.txt") ou monFichier.open("C:/Users/ Desktop /fichier.txt"); 2. Utilisation de constructeur paramétré (appel implicite de la méthode open) ofstream nomFlux (const char * Filename, mode) ex: ofstream monFichier("fichier.txt") ou ofstream monFichier(""C:/Users/ Desktop /fichier.txt");
  • 8. 8 Ecrire dans un fichier: modes d’Ouverture Les différents modes d'ouverture en écriture sont : ios : :app (append) ajout à la fin du fichier. ios : :out (output) permet l'écriture. ios : :trunc (truncate) vide le fichier à l'ouverture. Remarques :  Un objet ofstream a par défaut un mode d’ouverture ios_base::out | ios_base::trunc signifiant l’ouverture en écriture et effacement de l’ancien contenu du fichier.  Si le fichier n'existe pas, le programme le crée automatiquement !
  • 9. 9 Ecrire dans un fichier: Vérification d’ouverture Des problèmes peuvent survenir lors de l'ouverture d'un fichier tels que: le fichier ne vous appartient pas ou si le disque dur est plein. Donc, il faut toujours tester l’ouverture du fichier s'est bien passée.
  • 10. 10 Ecrire dans un fichier: Opérateur <<  L’écriture dans un fichier s’effectue comme l’affichage à l’écran avec l’opérateur <<  Toute variable ou constante des types de base (bool, char, int, float, double, string,...) peut être écrite. Syntaxe pour l’écriture dans les fichiers textes : NomFlux << Variable;
  • 11. 11 Ecrire dans un fichier: Exemple complet
  • 12. 12 Lire à partir d’un fichier: Ouverture La lecture à partir d’un fichier se fait via un objet de type ifstream. 1. Utilisation de constructeur par défaut + appel de la méthode open: ifstream nomFlux; nomFlux,open(const char * Filename, mode) 2. Utilisation de constructeur paramétré (appel implicite de la méthode open) ifstream nomFlux (const char * Filename, mode) Remarque :  Un ifstream a par défaut un mode d’ouverture ios_base::in ce qui signifie lecture seule.  Si le fichier n’existe pas, une erreur sera générée.
  • 13. 13 Lire à partir d’un fichier: Lecture Il existe manières différentes pour lire le contenu d’un fichier: 1. Ligne par ligne, en utilisant getline(); 2. Mot par mot, en utilisant les chevrons >>; 3. Caractère par caractère, en utilisant get().
  • 14. 14 Lire à partir d’un fichier: Lire ligne par ligne Lire le fichier en entier ligne par ligne : Lire la première ligne d’un fichier :
  • 15. 15 Lire à partir d’un fichier: mot par mot Il est possible de lire un entier ou un réel
  • 16. 16 Lire à partir d’un fichier: caractère par caractère
  • 17. 17 Fermer un fichier  En C++, la fermeture d’un fichier se fait en utilisant la méthode close():  A la fin de protée de cet objet flux associé au fichier le destructeur de la classe utilisée sera appelé. Si le fichier associé à l’objet flux est encore ouvert, le destructeur se contenterait simplement d'appeler la méthode close().
  • 18. 18 A retenir  Les entrées-sorties sur les fichiers sont réalisées avec des flux en C++.  En C++, pour lire/écrire dans un fichier, on doit inclure les fichiers d'en-tête <ifstream>/ <ofstream>.  On doit créer un objet de type ofstream pour ouvrir un fichier en écriture et ifstream pour l'ouvrir en lecture.  Lors de l’ouverture du fichier, si le fichier n’est pas dans le même dossier que le fichier exécutable le chemin absolu de ce fichier doit être mentionné et non pas le nom du fichier.  L'écriture se fait comme avec cout: monFlux << "Texte ";  La lecture se fait comme avec cin: monFlux >> variable;