Rappels
Un flot est un canal recevant (flot d’« entrée ») ou fournissant (flot de « sortie ») de
l’information. Ce canal est associé à un périphérique ou à un fichier. Un flot d’entrée
est un objet de type istream tandis qu’un flot de sortie est un objet de type ostream. Le flot
cout est un flot de sortie prédéfini, connecté à la sortie standard stdout ; de même, le flot
cin est un flot d’entrée prédéfini, connecté à l’entrée standard stdin.
La classe ostream
Elle surdéfinit l’opérateur << sous la forme d’une fonction membre :
ostream & operator << (expression)
L’expression correspondant à son deuxième opérande peut être d’un type de base
quelconque, y compris char, char * (on obtient la chaîne pointée) ou un pointeur sur un
type quelconque autre que char (on obtient la valeur du pointeur) ; pour obtenir la valeur
de l’adresse d’une chaîne, on la convertit artificiellement en un pointeur de type void *.
Fonctions membres :
ostream & put (char c) transmet au flot correspondant le caractère c.
ostream & write (void * adr, int long) envoie long caractères, prélevés à partir de
l’adresse adr.
La classe istream
Elle surdéfinit l’opérateur >> sous la forme d’une fonction membre :
istream & operator >> (type_de_base &)
Le type_de_base peut être quelconque, pour peu qu’il ne s’agisse pas d’un pointeur (char *
est cependant accepté ; il correspond à l’entrée d’une chaîne de caractères, et non
d’une adresse).
Les « espaces blancs » (espace, tabulation horizontale \t ou verticale \v, fin de ligne \n
et changement de page \f) servent de « délimiteurs » (comme dans scanf), y compris
pour les chaînes de caractères.
Principales fonctions membres :
istream & get (char & c) extrait un caractère du flot d’entrée et le range dans c.
286
Un flot est un canal recevant (flot d’« entrée ») ou fournissant (flot de « sortie ») de
l’information. Ce canal est associé à un périphérique ou à un fichier. Un flot d’entrée
est un objet de type istream tandis qu’un flot de sortie est un objet de type ostream. Le flot
cout est un flot de sortie prédéfini, connecté à la sortie standard stdout ; de même, le flot
cin est un flot d’entrée prédéfini, connecté à l’entrée standard stdin.
La classe ostream
Elle surdéfinit l’opérateur << sous la forme d’une fonction membre :
ostream & operator << (expression)
L’expression correspondant à son deuxième opérande peut être d’un type de base
quelconque, y compris char, char * (on obtient la chaîne pointée) ou un pointeur sur un
type quelconque autre que char (on obtient la valeur du pointeur) ; pour obtenir la valeur
de l’adresse d’une chaîne, on la convertit artificiellement en un pointeur de type void *.
Fonctions membres :
ostream & put (char c) transmet au flot correspondant le caractère c.
ostream & write (void * adr, int long) envoie long caractères, prélevés à partir de
l’adresse adr.
La classe istream
Elle surdéfinit l’opérateur >> sous la forme d’une fonction membre :
istream & operator >> (type_de_base &)
Le type_de_base peut être quelconque, pour peu qu’il ne s’agisse pas d’un pointeur (char *
est cependant accepté ; il correspond à l’entrée d’une chaîne de caractères, et non
d’une adresse).
Les « espaces blancs » (espace, tabulation horizontale \t ou verticale \v, fin de ligne \n
et changement de page \f) servent de « délimiteurs » (comme dans scanf), y compris
pour les chaînes de caractères.
Principales fonctions membres :
istream & get (char & c) extrait un caractère du flot d’entrée et le range dans c.
286
