Notion de flux de données

Les semaines précédentes, nous avons vu comment afficher; c’est-à-dire écrire à l’écran au moyen de cout. Nous avons occasionnellement vu comment lire depuis le clavier avec cin. Nous allons maintenant formaliser cela et introduire la notion de flux qui nous servira ensuite pour lire et écrire dans des fichiers.

Notion de flux de données#

Définition

Un flux sortant (input stream) est un dispositif où l’on peut écrire des données, successivement l’une après l’autre.

Syntaxe

flux << expression;

Sémantique

Écrit la valeur de l’expression dans le flux. La valeur est convertie en texte en fonction de son type.

Remarque

On peut enchaîner l’écriture successive de plusieurs expressions :

flux << expression1 << expression2 << expression3;

Exemples de flux sortants

  • cout : sortie standard (standard output) du programme
    Typiquement : écran
    ♣ Avec tampon

  • cerr : sortie d’erreur du programme
    ♣ Sans tampon

#include <iostream>
using namespace std;

cout << "Noël " << 42 << endl;

Définition

Un flux entrant (output stream) est un dispositif où l’on peut lire des données, successivement l’une après l’autre.

Syntaxe

flux >> variable;

Sémantique

Lit une valeur depuis le flux et l’affecte à la variable. Le type de la variable est utilisé pour déterminer comment lire la variable.

Remarque

On peut enchaîner la lecture successive de plusieurs variables :

flux >> variable1 >> variable2 >> variable3;

Exemple de flux entrant

  • cin : entrée standard (standard input) du programme
    Typiquement : clavier

string nom;
cout << "Comment t'appelles-tu?" << endl;
cin >> nom;
nom

Astuce mnémotechnique

Le sens des chevrons met en valeur dans quel sens se déplacent les informations :

  • flux << expression : de l’expression vers le flux;

  • flux >> variable : du flux vers la variable.

Astuce mnémotechnique

En anglais, «flux» se dit «stream», «entrée» «input» et «sortie» «output».

D’où le nom de la bibliothèque iostream qui définit le flux (stream) entrant (i) cin et les flux sortants (o) cout et cerr.