Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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, ,coutcerraclogjsou bajtově orientované, provádějí konvenční bajtové přenosy v čase.wcin, ,wcoutwcerrawclogjsou š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
| Název | 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;
Návratová 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;
Návratová 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;
Návratová 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;
Návratová 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;
Návratová 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;
Návratová 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;
Návratová 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;
Návratová 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