Programmation en C++ IO en C++/SL

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Rappels C.
Introduction au langage C
Cours n° 2 Les entrées-sorties Biliothèque C++ (iostream) –
DTD Sylvain Salvati
Les fichiers binaires en C++
Lecture et écriture de données
Structures de données IFT-2000
Standard Template Library
Les fichiers texte en C++
Chapitre IX Gestion de flux.
2.1 - Historique Chapitre 2 : Introduction au langage C++
Conception de Programmes - IUT de Paris - 1ère année – Cours 8 – Les entrées/sorties Comment fonctionnent les opérateurs > pour les types élémentaires.
Langage de programmation
8PRO107 Éléments de programmation Les adresses et les pointeurs.
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Langage de Programmation Orientée Objet : C++
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
1 Après 5 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
1 Programmation en C++ IO en C++/SL. 2 Sortie à l’écran Exemple: #include int main () { std::cout
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
1 Programmation en C++ Fonctions ● Déclaration et définition de fonctions ● Arguments ● Surcharge ● Arguments optionnels ● Fonctions constantes ● Fonctions.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
A quoi sert la programmation? - indispensable pour plusieurs métiers. - passion. But du cours: - suite du cours Prog. Imp. I - fichiers, pointeurs, modularité.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ Cycle de vie ● La vie d'un objet ● Destructeur ● Gestion de mémoire dynamique.
1 Programmation en C++ IO en C++/SL ● Standard Library ● Types, objets pour IO ● L'entrée de clavier ● Sortie à l'écran ● Fichiers.
1 Bonnes Pratiques ● Indentation ● Présentation ● Initialisation des variables ● Conditions ● Gestion d'erreurs ● Conventions.
1. Les éléments algorithmiques
Après 3 séances Tous les binômes ont commencé l'exercice « Formes »
Programmation en C++ Standard Library
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Création et téléchargement des fichiers
I- ANALYSE DU BESOIN / Plan
Environnement de développement des BD
Introduction au Langage Pascal
Programmation en C++ Héritage
Langage C Structure d'un programme Types Lire Ecrire Tester
Représentation des nombres réels
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Pas de variable globale
Pointeurs et langage C.
Qu'est-ce que POSIX? Une librairie en langage C
Semaine #1 INF130 par Frédérick Henri.
AO (Architecture des ordinateurs)
Algorithmique Langage C
Accès aux fichiers en C.
Les fonctions.
Les fonctions.
Programmation en C++ Fonctions
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Après 3 séances Tous les binômes ont commencé l'exercice « Formes »
Programmation en C++ IO en C++/SL
Programmation en C++ Classes
Les flux en C++ Les flux d’entrées sorties Les flux standards.
Programmation en C++ Fonctions
Programmation en C++ C++ de base
Calcul Scientifique Initiation à SCILB
Programmation Android GUI (widgets) et ressources
Catherine Cyrot - bibliothèques numériques - Cours 5
Les classes et les objets
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
Principes de programmation (suite)
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Analyse et programmation langage ADA
Codification et représentation de l’information Enseignant: Mahseur mohammed Groupe FB: mi2016ua1 Chaine YT: Cours informatique.
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

Programmation en C++ IO en C++/SL Standard Library Types, objets pour IO L'entrée de clavier Sortie à l'écran Fichiers

Librairie Standard (SL) Les opérations d'entrée/sortie sont définit dans la bibliothèque standard du C++ (SL) La bibliothèque standard Fait partie du langage Tout le code est contenu dans les fichiers ‘header’, pas de librairies à linker Il faut inclure des 'headers' qu'on veut utiliser Tous les types/objets se trouvent dans le namespace std définition des objets/fonctions pour IO #include <iostream> int main() { // on peut se servir par des // objets/fonctions définit dans // <iostream> return 0; }

Les Types, Objets pour IO (Flots) La bibliothèque standard définit des types et des objets spécialement destinés pour IO Le types de base: std::istream, std::ostream std::istream: définit des objets qu'on peut utiliser pour l'entrée (input) std::ostream: définit des objets qu'on peut utiliser pour la sortie (output) Objets global de flots: std::cin, std::cout, std::cerr Ils sont déjà déclarés, et alors disponible pour leur utilisation, on n'a pas besoin de créer leur instance nous même std::cin: le flot standard pour l'entrée; de type std::istream std::cout: le flot standard pour sortie a l'ecran; de type std::ostream std::cerr: le flot standard pour sortie des erreurs a l'ecran; de type std::ostream

Les Opérateurs <<, >> Flot opérateurs: <<, >> Effectuent l'opération d'entrée/sortie Il signifie « envoie vers » L'exemple de sortie à l'écran: On peut enchaîner des opérations: est équivalent à std::cout << "Bonjour"; L’objet de flot L'opérateur L'objet de string envoyé vers l'écran std::cout << "Bonjour" << std::endl; std::cout << "Bonjour"; std::cout << std::endl;

Sortie a l'écran On utilise le flot std::cout et l’opérateur << #include <iostream> #include <string> int main () { int i = 1; float f = 2.3; std::string s = "abcd"; std::cout << " i=" << i << " f=" << f << " s=" << s << std::endl; return 0; } 'Header' de SL pour I/O L'opérateur << est intelligent: il s’adapte au type de l’objet placé à sa droite > exo.exe i=1 f=2.3 s=abcd

Entrée du clavier On utilise le flot std::cin et l’opérateur >> #include <iostream> #include <string> int main () { int i; float f; std::string s; std::cin >> i >> f >> s; std::cout << " i=" << i << " f=" << f << " s=" << s << std::endl; return 0; } 'Header' de SL pour I/O Les entrées en cascade sont séparées par tous les caractères de séparation: espace, tabulation, CR > exo.exe 1 2 Blabla i=1 f=2 s=Blabla

... Entrée du clavier On utilise le flot std::cin et la fonction std::getline #include <iostream> #include <string> int main () { std::string s; std::getline(std::cin, s); std::cout << “Lit: “ << s << std::endl; // ... return 0; } 'Header' de SL pour I/O On lit la ligne entière, même si elle contient des séparateurs (espace, tab) , jusqu'au caractère CR; Il faut analyser soi-même les lignes > exo.exe 1 Lit: 1 Un texte Lit: Un texte Un autre texte Lit: Un autre texte

Les fichiers Les types: std::ifstream, std::ofstream définit des objets qu'on peut utiliser pour l'entrée d'un fichier (ifstream) et la la sortie vers un fichier (ofstream) Ils sont de la même famille comme std::istream, std::ostream, alors les objets de cet type peuvent être manipulé de même façon par des operateurs: <<, >> Ils sont définit dans le 'header' <fstream> Il n'existe pas des objets global des flots de fichiers (comme std::cin et std::cout), il faut les définir nous même avant l'utilisation: L'objet de flot de l'entrée du fichier input.txt std::ifstream f1("input.txt"); L'objet de flot de la sortie vers le fichier output.txt std::ofstream f2("output.txt"); On choisit nous même les noms de nos objets flots

... Les fichiers L'opération d'ouverture du fichier peut échouer Si le fichier d'entrée n'existe pas, si on n'a pas le droit d'écriture dans le répertoire pour le fichier de sortie, ... Il faut tester le résultat d'ouverture: L'opération d'entrée du fichier peut échouer Si nous sommes arrivées a la fin du fichier et il n'y plus des données à lire Il est préférable de le tester avant chaque opération d'entrée: if (! f1.is_open() { std::cerr << "Cannot open file"); exit(1); } if ( ! f1.eof() ) f1 >> ... ;

La sortie dans un fichier #include <fstream> #include <iostream> #include <string> int main () { int i = 1; float f = 2.3; std::string s = "abcd"; std::ofstream flot("fichier.txt"); if ( ! flot.is_open() ) { std::cerr << "Fichier n'est pas ouvert !!!" << std::endl; return 1; } flot << i << " " << f << " " << s << std::endl; return 0; > exo.exe > more fichier.txt 1 2.3 abcd

L'entrée d'un fichier #include <fstream> #include <iostream> #include <string> int main () { int i; float f; std::string s; std::ifstream flot("fichier.txt"); if ( ! flot.is_open() ) { std::cerr << "Fichier n'est pas ouvert !!!" << std::endl; return 1; } if ( ! flot.eof() ) flot >> i; if ( ! flot.eof() ) flot >> f; if ( ! flot.eof() ) flot >> s; std::cout << " i=" << i << " f=" << f << " s=" << s << std::endl; return 0; > exo.exe i=1 f=2.3 s=abcd

Les manipulateurs Les objets spécial qui injectent des modifications de comportement sur les flots; manipulateurs std::cout << std::hex << mon_numero << std::endl; endl ends ws dec hex fixed scientific setw(val) setprecision(val) left right ... Insérer un caractère « new line » dans le flot Insérer un caractère de la fin du string dans le flot Lire et ignore les séparateurs (« white-spaces ») Écrire et lire en format décimal (défaut) Écrire et lire en format hexadécimal Utiliser la notation décimale (en virgule fixe) Utiliser la notation scientifique (avec exposant) Régler la largeur de champ I/O pour val Régler val pour la nouvelle valeur pour la précision Ajuster la valeur à gauche Ajuster la valeur à droite