<iostream>

Deklaruje objekty, které řídí čtení a zápis do standardních datových proudů. To je často jediná hlavička, kterou potřebujete udělat vstup a výstup z programu C++.

Syntaxe

#include <iostream>

Poznámka

Knihovna <iostream> používá příkazy #include <ios>, #include <streambuf>, #include <istream>a #include <ostream> příkazy.

Poznámky

Objekty spadají do dvou skupin:

  • cin, , coutcerra clog jsou bajtově orientované, provádějí konvenční bajtové přenosy v čase.

  • wcin, , wcoutwcerra wclog jsou široce orientované, překládá na a z širokých znaků, které program interně manipuluje.

Jakmile provedete určité operace s datovým proudem, jako je standardní vstup, nemůžete provádět operace s jinou orientací ve stejném datovém proudu. Program proto nemůže fungovat zaměnitelně na obou cin a wcin, například.

Všechny objekty deklarované v této hlavičce sdílejí zvláštní vlastnost – můžete předpokládat, že jsou sestaveny před libovolnými statickými objekty, které definujete, v jednotce překladu, která zahrnuje <iostream>. Stejně můžete předpokládat, že tyto objekty nejsou zničeny před destruktory pro všechny takové statické objekty, které definujete. (Výstupní datové proudy se však vyprazdní během ukončení programu.) Proto můžete bezpečně číst ze standardních datových proudů nebo zapisovat do standardních datových proudů před spuštěním programu a po ukončení programu.

Tato záruka ale není univerzální. Statický konstruktor může volat funkci v jiné jednotce překladu. Volaná funkce nemůže předpokládat, že objekty deklarované v této hlavičce byly sestaveny vzhledem k nejistému pořadí, ve kterém se jednotky překladu účastní statické konstrukce. Chcete-li tyto objekty použít v takovém kontextu, musíte nejprve vytvořit objekt třídy ios_base::Init.

Globální objekty streamu

Jméno popis
cerr Určuje cerr globální datový proud.
cin Určuje cin globální datový proud.
clog Určuje clog globální datový proud.
cout Určuje cout globální datový proud.
wcerr Určuje wcerr globální datový proud.
wcin Určuje wcin globální datový proud.
wclog Určuje wclog globální datový proud.
wcout Určuje wcout globální datový proud.

cerr

Objekt cerr řídí výstup do vyrovnávací paměti datového proudu přidruženého k objektu stderr, deklarovaný v <cstdio>.

extern ostream cerr;

Vrácená hodnota

Objekt ostream .

Poznámky

Objekt řídí nezachycené vložení do standardního výstupu chyby jako bajtového datového proudu. Po vytvoření objektu je výraz cerr.flags & unitbuf nenulová a cerr.tie() == &cout. Další podrobnosti najdete v tématu cerr.flags a unitbuf.

Příklad

// 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

Určuje cin globální datový proud.

extern istream cin;

Vrácená hodnota

Objekt istream .

Poznámky

Objekt řídí extrakci ze standardního vstupu jako bajtového datového proudu. Jakmile je objekt vytvořen, volání cin.tie vrátí &cout.

Příklad

V tomto příkladu nastaví bit selhání ve streamu, cin když se zobrazí nečíselné znaky. Program vymaže bit selhání a zruší neplatný znak z datového proudu, aby pokračoval.

// 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

Určuje clog globální datový proud.

extern ostream clog;

Vrácená hodnota

Objekt ostream .

Poznámky

Objekt řídí vložení do vyrovnávací paměti do standardního výstupu chyby jako bajtového datového proudu.

Příklad

Podívejte se cerr na příklad použití clog.

cout

Určuje cout globální datový proud.

extern ostream cout;

Vrácená hodnota

Objekt ostream .

Poznámky

Objekt řídí vložení do standardního výstupu jako bajtového datového proudu.

Příklad

Podívejte se cerr na příklad použití cout.

wcerr

Určuje wcerr globální datový proud.

extern wostream wcerr;

Vrácená hodnota

Objekt wostream .

Poznámky

Objekt řídí nezařazené kurzory do standardního výstupu chyb jako široký datový proud. Po vytvoření objektu je výraz wcerr.flags & unitbuf nenulová. Další podrobnosti najdete v tématu wcerr.flags a unitbuf.

Příklad

Podívejte se cerr na příklad použití wcerr.

wcin

Určuje wcin globální datový proud.

extern wistream wcin;

Vrácená hodnota

Objekt wistream .

Poznámky

Objekt řídí extrakci ze standardního vstupu jako širokého datového proudu. Jakmile je objekt vytvořen, volání wcin.tie vrátí &wcout.

Příklad

Podívejte se cerr na příklad použití wcin.

wclog

Určuje wclog globální datový proud.

extern wostream wclog;

Vrácená hodnota

Objekt wostream .

Poznámky

Objekt řídí vložení do vyrovnávací paměti do standardního výstupu chyby jako široký datový proud.

Příklad

Podívejte se cerr na příklad použití wclog.

wcout

Určuje wcout globální datový proud.

extern wostream wcout;

Vrácená hodnota

Objekt wostream .

Poznámky

Objekt řídí vložení do standardního výstupu jako širokého datového proudu.

Příklad

Podívejte se cerr na příklad použití wcout.

CString instance v wcout příkazu musí být přetypován na const wchar_t*, jak je znázorněno v následujícím příkladu.

CString cs("meow");

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

Další informace naleznete v tématu Základní operace CString.

Viz také

Referenční informace k souborům hlaviček
Bezpečný přístup z více vláken ve standardní knihovně C++
iostream – programování
iostreams – konvence