Comme pour le langage C, les instructions d’entrées/sorties
ne font pas partie des instructions du langage. Elles sont
dans une librairie standardisée qui implémente
les flux à partir de classes.
Alors qu’en C les entrées/sorties «
classiques » s’effectuent à l’aide
des fonctions scanf et printf, et bien qu’il soit
possible de les utiliser en C++, il est préférable
d’utiliser une gestion par flot (ou flux, ou stream).
Quatre flots sont définis dans la librairie iostream.h.
- cout, sortie standard
- cin, entrée standard
- cerr, erreur non tamponnée (pas de mise
en tampon => gestion non bufferisée)
L'opérateur << permet d'envoyer
des valeurs dans un flot de sortie, tandis que >>
permet d'extraire des valeurs d'un flot d'entrée.
Exemple :
#include <iostream.h>
cin >> age >> date_naissance // saisie de l’age
puis de la date de naissance
cout << "J’ai" << age <<
" ans " << endl ; // endl permet un retour
à la ligne
L’intérêt des flots est une vitesse d'exécution
plus rapide. La fonction printf doit analyser à l'exécution
la chaîne de formatage, tandis qu'avec les flots,
la traduction est faite à la compilation. Nous le
verrons plus tard, mais on peut également utiliser
les flux avec les types utilisateurs (surcharge possible
des opérateurs >> et <<).