Les traitements de fichiers constituent une base pour de nombreux programmes. Il est essentiel de maîtriser les opérations simples (lecture, copie, taille) et de traiter les erreurs d'E/S.
Manipuler les flux fichiers en C++ pour lire, copier et mesurer un fichier texte avec gestion correcte des erreurs.
ifstreametofstream;- lecture/écriture caractère par caractère ;
- gestion d'erreurs d'ouverture/lecture/écriture ;
- modularisation en fonctions.
- TP n°6 ;
- fonctions ;
- flux standards.
Implémenter trois services :
- afficher le contenu d'un fichier, ;
- copier un fichier, ;
- calculer sa taille.
Écrire une fonction qui affiche le contenu d'un fichier texte.
Écrire une fonction qui copie un fichier source vers un fichier destination.
Écrire une fonction qui retourne la taille du fichier.
Définir et implémenter le comportement attendu lorsque :
- le fichier source est absent, ;
- l'ouverture échoue, ;
- l'écriture échoue.
- Compilateur GNU C++ ;
- Système d'exploitation Linux, Mac OS X ou Ms-Windows ;
- Standard recommandé : C++11 ou supérieur.
Exemple 1 :
- entrée :
racine.txt; - sortie : contenu affiché + taille (en octets).
Exemple 2 :
- entrée : fichier inexistant ;
- sortie attendue : message d'erreur explicite, sans crash.
g++ -std=c++11 -Wall -Wextra -o testfichier test_fichier.cxx fichier.cxxfichier.h;fichier.cxx;test_fichier.cxx;README.md(tests effectués + gestion des erreurs).
- Ajouter une copie binaire ;
- Ajouter une comparaison d'intégrité entre source et destination.
- Exactitude fonctionnelle ;
- Qualité de la gestion des erreurs ;
- Qualité de la modularisation ;
- Qualité des tests et du README.