Fichiers et flux#
Prélude#
Annonces#
Bêta test brevet IA
Ce soir, 16h, salle 209
Il reste quelques places
Tutorat
Ce soir, 16h, salle du BIP
Qui prévoit d’y aller?
Projet
Sujets disponibles au téléchargement en cours de semaine
Correction examen
Bien avancé
Résumé des épisodes précédents#
Manipulation de collections de données
Fil conducteur : Implantation d’un annuaire
Tableaux : valeurs composites homogènes:
vector<...>
Sémantique, modèle mémoire avec pile et tas
Généralisations: collections, tableaux 2D
La boucle «pour tout» :
for ( auto valeur: collection ) { ... }
Étude de cas : afficher un annuaire#
Revenons sur le programme que nous avions écrit pour afficher un annuaire :
#include<vector>
#include<iostream>
using namespace std;
vector<string> noms = {
"Jeanne",
"Franck",
"Marie",
"Joël"
};
vector<string> telephones = {
"04 23 23 54 56",
"03 23 42 34 26",
"06 52 95 56 06",
"07 23 63 92 38"
};
for (int i=0; i < noms.size(); i++) {
cout << noms[i] << " " << telephones[i] << endl;
}
Imaginons maintenant que le carnet de contacts sur nos téléphones adopte la même approche. Les données étant une partie intégrante du programme, nous devrions chacun avoir un programme différent, alors que seules les données changent d’une personne à l’autre.
De plus, toute modification dans l’annuaire est volatile : toute modification qui a pu avoir lieu pendant l’exécution du programme (par exemple l’ajout d’un contact) est perdue au moment où celui-ci s’arrête.
Nous avons besoin :
d’une séparation claire entre programme et données;
d’un stockage persistant des données.
C’est ce que les fichiers vont nous apporter.
On voudrait pour notre annuaire avoir :
Un fichier
annuaire.txt
:Jean-Claude 0645235432 Albane 0734534534 Djamila +1150343234 Tibo 0634534534
Un programme
Reste à définir la notion de fichier et à voir comment les manipuler en C++.
Au programme#
Cours : fichiers, lecture, écriture
Cours : état d’un fichier
Cours : lecture au clavier
Cours : flux de données
Résumé du cours#
Nous avons vu#
Comment lire et écrire dans des fichiers en C++
Un concept uniforme pour lire et écrire : les flux
Entrée et sortie standard d’un programme :
cin
,cout
Fichiers :
ifstream
,ofstream
Chaînes de caractères :
istringstream
,ostringstream
Rappel des annonces#
Projet: première séance la semaine prochaine; avancez d’ici là!
Bureau d’Intervention Pédagogique: maths, physique ET informatique
Béta-test Brevet IA 16h salle 209