<iostream>

Déclare des objets qui contrôlent la lecture et l'écriture des flux standard. Cela inclut souvent le seul en-tête dont vous avez besoin pour effectuer des entrées et des sorties à partir d’un programme C++.

Syntaxe

#include <iostream>

Remarque

La <iostream> bibliothèque utilise les instructions, les #include <streambuf>#include <istream>instructions et #include <ostream> les #include <ios>instructions.

Notes

Les objets se répartissent en deux groupes :

  • cin, cout, cerret clog sont orientés octets, effectuant des transferts d’octets classiques à temps.

  • wcin, wcout, wcerret wclog sont orientés vers et à partir des caractères larges que le programme manipule en interne.

Une fois que vous avez fait certaines opérations sur un flux, telles que l’entrée standard, vous ne pouvez pas effectuer d’opérations d’une orientation différente sur le même flux. Par conséquent, un programme ne peut pas fonctionner de manière interchangeable sur les deux cin et wcin, par exemple.

Tous les objets déclarés dans cet en-tête partagent une propriété particulière . Vous pouvez supposer qu’ils sont construits avant tous les objets statiques que vous définissez, dans une unité de traduction qui inclut <iostream>. De même, vous pouvez supposer que ces objets ne sont pas détruits avant les destructeurs pour les objets statiques que vous définissez. (Toutefois, les flux de sortie sont vidés pendant l’arrêt du programme.) Par conséquent, vous pouvez lire ou écrire en toute sécurité dans les flux standard avant le démarrage du programme et après l’arrêt du programme.

Cette garantie n’est cependant pas universelle. Un constructeur statique peut appeler une fonction dans une autre unité de traduction. La fonction appelée ne peut pas supposer que les objets déclarés dans cet en-tête ont été construits, compte tenu de l’ordre incertain dans lequel les unités de traduction participent à la construction statique. Pour utiliser ces objets dans un tel contexte, vous devez d’abord construire un objet de classe ios_base::Init.

Objets de flux global

Nom Description
cerr Spécifie le flux global cerr.
cin Spécifie le flux global cin.
clog Spécifie le flux global clog.
cout Spécifie le flux global cout.
wcerr Spécifie le flux global wcerr.
wcin Spécifie le flux global wcin.
wclog Spécifie le flux global wclog.
wcout Spécifie le flux global wcout.

cerr

L’objet cerr contrôle la sortie vers une mémoire tampon de flux associée à l’objet stderr, déclarée dans <cstdio>.

extern ostream cerr;

Valeur de retour

Objet ostream.

Notes

L’objet contrôle les insertions non mises en mémoire tampon dans la sortie d’erreur standard sous forme de flux d’octets. Une fois l’objet construit, l’expression cerr.flags & unitbuf est différente de zéro et cerr.tie() == &cout. Pour plus d’informations, consultez cerr.flags et unitbuf.

Exemple

// iostream_cerr.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

using namespace std;

void TestWide( )
{
   int i = 0;
   wcout << L"Enter a number: ";
   wcin >> i;
   wcerr << L"test for wcerr" << endl;
   wclog << L"test for wclog" << endl;
}

int main( )
{
   int i = 0;
   cout << "Enter a number: ";
   cin >> i;
   cerr << "test for cerr" << endl;
   clog << "test for clog" << endl;
   TestWide( );
}

cin

Spécifie le flux global cin.

extern istream cin;

Valeur de retour

Objet istream.

Notes

L’objet contrôle les extractions à partir de l’entrée standard en tant que flux d’octets. Une fois l’objet construit, l’appel cin.tie retourne &cout.

Exemple

Dans cet exemple, cin définit le bit d’échec sur le flux lorsqu’il se trouve entre des caractères non numériques. Le programme efface le bit d’échec et supprime le caractère non valide du flux pour continuer.

// iostream_cin.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main()
{
   int x;
   cout << "enter choice:";
   cin >> x;
   while (x < 1 || x > 4)
   {
      cout << "Invalid choice, try again:";
      cin >> x;
      // not a numeric character, probably
      // clear the failure and pull off the non-numeric character
      if (cin.fail())
      {
         cin.clear();
         char c;
         cin >> c;
      }
   }
}
2

clog

Spécifie le flux global clog.

extern ostream clog;

Valeur de retour

Objet ostream.

Notes

L’objet contrôle les insertions mises en mémoire tampon dans la sortie d’erreur standard sous forme de flux d’octets.

Exemple

Consultez cerr un exemple d’utilisation clog.

cout

Spécifie le flux global cout.

extern ostream cout;

Valeur de retour

Objet ostream.

Notes

L’objet contrôle les insertions dans la sortie standard sous forme de flux d’octets.

Exemple

Consultez cerr un exemple d’utilisation cout.

wcerr

Spécifie le flux global wcerr.

extern wostream wcerr;

Valeur de retour

Objet wostream.

Notes

L’objet contrôle les insertions non mises en mémoire tampon dans la sortie d’erreur standard sous forme de flux large. Une fois l’objet construit, l’expression wcerr.flags & unitbuf n’est pas nulle. Pour plus d’informations, consultez wcerr.flags et unitbuf.

Exemple

Consultez cerr un exemple d’utilisation wcerr.

wcin

Spécifie le flux global wcin.

extern wistream wcin;

Valeur de retour

Objet wistream.

Notes

L’objet contrôle les extractions à partir de l’entrée standard en tant que flux large. Une fois l’objet construit, l’appel wcin.tie retourne &wcout.

Exemple

Consultez cerr un exemple d’utilisation wcin.

wclog

Spécifie le flux global wclog.

extern wostream wclog;

Valeur de retour

Objet wostream.

Notes

L’objet contrôle les insertions mises en mémoire tampon dans la sortie d’erreur standard sous forme de flux large.

Exemple

Consultez cerr un exemple d’utilisation wclog.

wcout

Spécifie le flux global wcout.

extern wostream wcout;

Valeur de retour

Objet wostream.

Notes

L'objet contrôle les insertions dans la sortie standard sous forme de flux large.

Exemple

Consultez cerr un exemple d’utilisation wcout.

Les instances de CString dans une instruction wcout doivent être converties en const wchar_t*, comme illustré dans l'exemple suivant.

CString cs("meow");

wcout <<(const wchar_t*) cs <<endl;

Pour plus d’informations, consultez Opérations CString de base.

Voir aussi

Informations de référence sur les fichiers d’en-tête
Sécurité des threads dans la bibliothèque C++ Standard
iostream, programmation
iostreams, conventions