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

Slides:



Advertisements
Présentations similaires
FLSI602 Génie Informatique et Réseaux
Advertisements

Les fichiers binaires en C++
Lecture et écriture de données
Structures de données IFT-2000
Formation C++. Hello World ! #include /* Commentaire sur plusieurs lignes */ int main() { //Affiche hello world std::cout
Les fichiers texte en C++
Chapitre IX Gestion de flux.
Un survol du language C.
Entrées / Sorties.
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.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Introduction au langage C Les entrées-sorties
Algorithmique et langage C
Exécuter une fonction en parallèle Utilisation de plusieurs fonctions en parallèles pour obtenir un résultat Accès à des ressources simultanément.
Informatique 2A Langage C 4ème séance
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 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.
>>> Amphi Python
Programmation en C++ Standard Library
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
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
Les notions de classe et d'objet
Pointeurs et langage C.
Programmation en C++ IO en C++/SL
TP N°2 : les Adresses IP *IP: Internet Protocol
Algorithmique et programmation de modèles numériques
Semaine #1 INF130 par Frédérick Henri.
Collecte de données CAPI
AO (Architecture des ordinateurs)
Algorithmique Langage C
Accès aux fichiers en C.
Les fonctions.
Programmation en C++ Fonctions
Buffer Overflow Anatomy of an exploit.
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Arguments de la ligne de commande
Les chaînes de caractères et le langage C
NOTES DE COURS Développement VB2010 Henri TSOUNGUI ISTV - UVHC 2016
La ligne de commande du shell UNIX
Programmation en C++ Classes
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
Les flux en C++ Les flux d’entrées sorties Les flux standards.
Coding party Écrire un programme qui élève un nombre au carré Écrire un programme qui teste si un nombre est pair Écrire un programme qui calcule la factorielle.
Programmation en C++ Fonctions
Programmation en C++ C++ de base
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Calcul Scientifique Initiation à SCILB
Apprendre le clavier Séquence 1 : découvrir les touches
5. Les modules Découpage d’une application en modules
Expressions régulières
Principes de programmation (suite)
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
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

Sortie à l’écran Exemple: Indispensable pour utiliser les IO de SL Comme pour tous les composants SL, il faut toujours se placer dans l’espace de nommage std:: #include <iostream> int main () { std::cout << "Bonjour" << std::endl; return 0; } L’objet std::cout représente le flot vers l’écran On peut cascader les sorties L’objet std::endl effectue deux opérations: 1. Retour chariot 2. Vidage du buffer L’opérateur << signifie Envoie dans …

La classe A pour la quelle l’opérateur << est défini Sorties L’opérateur << est intelligent: il s’adapte au type de l’objet placé à sa droite #include “A.h” #include <iostream> #include <string> int main () { int i = 1; float f = 2.3; std::string s = "abcd"; A a; std::cout << " i=" << i << " f=" << f << " s=" << s << " a=" << a << std::endl; return 0; } La classe A pour la quelle l’opérateur << est défini

Entrées du clavier std::ws saute les séparateurs On utilise le flot std::cin et l’opérateur >> (qui signifie toujours "envoie dans…  ") Les entrées en cascade sont séparées par tous les caractères de séparation (espace, tabulation, CR) Utilisation d’opérateurs sur les flots std::ws saute les séparateurs Pour les chaînes de caractères qui pourraient contenir des séparateurs il faut analyser soi-même les lignes #include <iostream> #include <string> int main () { int i = 1; double d = 2.3; std::string s = "abcd"; std::cin >> i >> d >> std::ws; std::getline (std::cin, s); std::cout << "[" << i << d << s << "]" << std::endl; return 0; } > exo3.exe 1 2 Un texte [12Un texte]

Les fichiers On utilise les flots std::ifstream et std::ofstream Les opérateurs << et >> Ouverture d’un fichier Écriture Fermeture Obligatoire: le destructeur du flot ne ferme pas le fichier #include <fstream> #include <string> int main () { int i = 1; double d = 2.3; std::string s = "abcd efgh"; std::ofstream f ("fichier.txt"); if (f.is_open()) f << i << " " << d << std::endl; f << s << std::endl; f.close (); } return 0;

Les fichiers (suite) Lecture Toujours tester la fin de fichier (eof ~ end of file) En général, il sera nécessaire de traiter la syntaxe manuellement, après lecture ligne à ligne des entrées #include <iostream> #include <fstream> #include <string> int main () { int i; double d; std::string s; std::ifstream f ("fichier.txt"); if (f.is_open ()) if (!f.eof ()) f >> i; if (!f.eof ()) f >> d; if (!f.eof ()) f >> std::ws; if (!f.eof ()) std::getline (f, s); f.close (); } std::cout << "[" << i << d << s << "]" << std::endl; return 0;

Les flots bufferisés Utilise les flots std::istringstream et std::ostringstream et les opérateurs << et >> Toutes les opérations s’effectuent dans un std::string dynamique On peut convertir ces flots en std::string Par le constructeur [i] Par la fonction str()[o] #include <iostream> #include <fstream> #include <sstream> #include <string> int main () { int i; double d; std::string s; std::string input = "123 1.23 abcd def"; std::istringstream b (input); b >> i >> d >> std::ws; std::getline (b, s); std::cout << "[" << std::hex << i << d << s << "]" << std::endl; return 0; }

Les manipulateurs Injectent des modifications de comportement sur les flots 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 int i = 1234; std::cout << hex << i << std::endl;