La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Programmation en C++ IO en C++/SL. 2 Sortie à l’écran Exemple: #include int main () { std::cout << "Bonjour" << std::endl; return 0; } Indispensable.

Présentations similaires


Présentation au sujet: "1 Programmation en C++ IO en C++/SL. 2 Sortie à l’écran Exemple: #include int main () { std::cout << "Bonjour" << std::endl; return 0; } Indispensable."— Transcription de la présentation:

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

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

3 3 Sorties L’opérateur << est intelligent: il s’adapte au type de l’objet placé à sa droite #include “A.h” #include 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

4 4 Entrées du clavier 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 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]

5 5 Les fichiers On utilise – les flots std::ifstream et std::ofstream – Les opérateurs > Ouverture d’un fichier Écriture Fermeture – Obligatoire: le destructeur du flot ne ferme pas le fichier #include 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; }

6 6 Les fichiers (suite) #include 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; } 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

7 7 Les flots bufferisés #include 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; } Utilise les flots std::istringstream et std::ostringstream et les opérateurs > – 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]

8 8 Les manipulateurs Injectent des modifications de comportement sur les flots Force les capitales dans certaines opérations uppercase Vide le buffer avant toute sortie unitbuf Saute les espaces avant certaines opérations skipws Force la production du signe plus showpos Force la visualisation du point en format scientifique showpoint Montre la base numérique en préfixe showbase Format scientifique (avec exposant) scientific Complète une valeur numérique par des caractères de remplissage au début right Format octal oct Complète une valeur numérique par des caractères de remplissage à la fin left Complète une valeur numérique par des caractères de remplissage à une position interne internal Format hexadecimal hex Format en virgule fixe(sans exposant) fixed Format décimal pour les valeurs entières dec Formatte les valeurs booléennes avec true et false boolalpha int i = 1234; std::cout << hex << i << std::endl;


Télécharger ppt "1 Programmation en C++ IO en C++/SL. 2 Sortie à l’écran Exemple: #include int main () { std::cout << "Bonjour" << std::endl; return 0; } Indispensable."

Présentations similaires


Annonces Google