Cours langage C généralités sur les flux

Généralités sur les flux
Flots et classes
Le flot de sortie : ostream
Principales méthodes de ostream
Le flot d’entrée : istream
Principales méthodes de istream
Contrôle de l’état d’un flux
Associer un flot d’E/S à un fichier
Formatage de l’information
Les manipulateurs

Généralités sur les flux

Un flux(ou stream) est une abstraction logicielle représentant un flot de données entre :
une source produisant de l’information
une cible consommant cette information.
Il peut être représenté comme un buffer et des mécanismes associés à celui−ci et il prend en charge, quand le flux est créé, l’acheminement de ces données.
Comme pour le langage C, les instructions entrées/sorties ne font pas partie des instructions du langage. Elles sont dans une librairie standardisée qui implémente les flots à partir de classes.

Flots et classes

ios: classe de base des entrées/sorties par flot. Elle contient un objet de la classe
streambufpour la gestion des tampons d’entrées/sorties.
istream: classe dérivée de iospour les flots en entrée.
ostream: classe dérivée de iospour les flots en sortie.
iostream: classe dérivée de istreamet de ostreampour les flots bidirectionnels.
istream_withassign, ostream_withassignet iostream_withassign: classes dérivées respectivement de istream, ostreamet iostreamet qui ajoute l’opérateur d’affectation. Les flots standards cin, coutet cerrsont des instances de ces classes.

Le flot de sortie : ostream

  • Il fournit des sorties formatées et non formatées (dans un streambuf)
  • Surdéfinition de l’opérateur <<
  • Il gère les types prédéfinis du langage C++
  • On peut (doit) le surdéfinir pour ses propres types

Surdéfinition de l’opérateur d’injection dans un flot :
Exemple :

class Exemple {
friend ostream &operator<<(ostream &os, const Exemple &ex);
public :
// …
private :
char _nom[20];
int _valeur;
};
ostream &operator<<(ostream &os, const Exemple &ex) {
return os << ex._nom <<  »  » << ex._valeur;
}
void main() {
Exemple e1;
// …
cout << « Exemple =  » << e1 << endl;
// …
}


Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours langage C (1.44 MB) (Cours PDF)
Cours langage c

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *