Programmation en C++ – Les entrées / sorties de base
Les bibliothèques standard C ++ fournissent un ensemble étendu d’entrée/sortie que nous verrons dans les chapitres suivants. Ce chapitre traitera des opérations d’E/S très élémentaires et les plus courantes nécessaires à la programmation C ++.
Les E/S se produit dans les flux, qui sont des séquences d’octets. Si des octets circulent depuis un périphérique comme un clavier, un lecteur de disque ou une connexion réseau, etc. vers la mémoire principale, cela s’appelle opération d’entrée et si des octets circulent depuis la mémoire principale vers un périphérique tel qu’un écran d’affichage, une imprimante, un lecteur de disque , Ou une connexion réseau, etc, cela s’appelle opération de sortie.
Fichiers d’en-tête de bibliothèque d’E/S
Il existe des fichiers d’en-tête importants pour les programmes C ++:
Fichiers d’en-tête | Fonction et Description |
---|---|
<iostream> | Ce fichier définit les objets cin, cout, cerr et clog, qui correspondent au flux d’entrée standard, au flux de sortie standard, au flux d’erreur standard non tamponné et au flux d’erreur standard tamponné, respectivement. |
<iomanip> | Ce fichier déclare les services utiles pour effectuer des E / S formatées avec les manipulateurs de flux dits paramétrés, tels que setw et setprecision. |
<fstream> | Ce fichier déclare les services pour le traitement de fichier contrôlé par l’utilisateur. Nous en discuterons en détail dans le chapitre relatif au fichier et au flux. |
Le flux de sortie standard (cout)
L’objet cout prédéfini est une instance de la classe ostream. L’objet cout est dit « connecté » au périphérique de sortie standard, qui est habituellement l’écran d’affichage. « cout » est utilisé en conjonction avec l’opérateur d’insertion de flux, qui est écrit comme << qui sont deux signes d’inférieur comme indiqué dans l’exemple suivant.
#include <iostream> using namespace std; int main( ) { char ch[] = "Bonjour C ++"; cout << "Valeur de ch est :" << ch << endl; }
La sortie :
Valeur de ch est :Bonjour C ++
Le compilateur C ++ détermine également le type de données de la variable à afficher et sélectionne l’opérateur d’insertion de flux approprié pour afficher la valeur. L’opérateur << est surchargé pour afficher les éléments de données des types, entiers, flottants, doubles, de chaînes de caractères et de pointeurs.
L’opérateur d’insertion << peut être utilisé plusieurs fois dans une seule instruction comme indiqué ci-dessus et ‘endl‘ est utilisé pour ajouter une nouvelle ligne à la fin de la ligne.
Le flux d’entrée standard (cin)
L’objet prédéfini cin est une instance de la classe istream. L’objet cin est attaché au périphérique d’entrée standard, qui est habituellement le clavier. Le cin est utilisé en conjonction avec l’opérateur d’extraction de flux, qui est écrit comme >> qui sont deux signes de supérieur comme montrés dans l’exemple suivant.
#include <iostream> using namespace std; int main( ) { char nom[40]; cout << "Veuillez entrer votre nom: "; cin >> nom; cout << "Votre nom est: " << nom << endl; }
Lorsque le code ci-dessus est compilé et exécuté, il vous invite à entrer un nom. Vous entrez une valeur, puis appuyez sur Entrée pour voir le résultat :
Veuillez entrer votre nom: mainprogrammer Votre nom est: mainprogrammer
Le compilateur C ++ détermine également le type de données de la valeur saisie et sélectionne l’opérateur d’extraction de flux approprié pour extraire la valeur et la stocker dans les variables données.
L’opérateur d’extraction de flux >> peut être utilisé plusieurs fois dans une seule instruction. Pour demander plus d’une donnée, vous pouvez utiliser les éléments suivants:
cin >> nom >> age;
Cela équivaut aux deux énoncés suivants:
cin >> nom; cin >> age;
Le flux d’erreur standard (cerr)
L’objet prédéfini cerr est une instance de la classe ostream. L’objet cerr est attaché au dispositif d’erreur standard, qui est également un écran d’affichage mais l’objet cerr n’est pas tamponné et chaque insertion de flux à cerr fait que sa sortie apparaisse immédiatement.
Le cerr est également utilisé conjointement avec l’opérateur d’insertion de flux, comme illustré dans l’exemple suivant.
#include <iostream> using namespace std; int main( ) { char ch[] = "Impossible de lire...."; cerr << "Message d'erreur : " << ch << endl; }
La sortie :
Message d'erreur : Impossible de lire....
Le flux log standard (clog)
L’objet prédéfini clog est une instance de la classe ostream. On dit que l’objet clog est attaché au dispositif d’erreur standard, qui est également un écran d’affichage, mais que l’objet clog est tamponné. Cela signifie que chaque insertion à clog pourrait faire en sorte que sa sortie soit maintenue dans un tampon jusqu’à ce que le tampon soit rempli ou jusqu’à ce que le tampon soit purgé.
Le clog est également utilisé en conjonction avec l’opérateur d’insertion de flux, comme illustré dans l’exemple suivant.
#include <iostream> using namespace std; int main( ) { char ch[] = "Impossible de lire...."; clog << "Message d'erreur : " << ch << endl; }
La sortie :
Message d'erreur : Impossible de lire....
Vous ne pourriez voir aucune différence entre cout, cerr et clog avec ces petits exemples, mais pendant l’écriture et l’exécution de grands programmes alors la différence devient évidente. Il s’agit donc d’une bonne pratique pour afficher les messages d’erreur à l’aide de flux cerr et pour afficher les messages de log en utilise clog.