Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Deklaruje obiekty kontrolujące odczyt i zapis do standardowych strumieni. Jest to często jedyny nagłówek, który należy wprowadzić i dane wyjściowe z programu C++.
Składnia
#include <iostream>
Uwaga
Biblioteka <iostream> używa instrukcji #include <ios>, #include <streambuf>, #include <istream>i #include <ostream> .
Uwagi
Obiekty dzielą się na dwie grupy:
cin, ,coutcerriclogsą zorientowane bajtowo, wykonując konwencjonalne transfery bajtów w czasie.wcin, ,wcoutwcerriwclogsą szeroko zorientowane, tłumacząc na i od szerokich znaków, które program manipuluje wewnętrznie.
Po zakończeniu niektórych operacji na strumieniu, takich jak standardowe dane wejściowe, nie można wykonywać operacji innej orientacji na tym samym strumieniu. W związku z tym program nie może działać zamiennie w systemach cin i wcin, na przykład.
Wszystkie obiekty zadeklarowane w tym nagłówku mają osobliwą właściwość — można założyć, że są one konstruowane przed zdefiniowanymi obiektami statycznymi w jednostce tłumaczenia zawierającej <iostream>element . Można również założyć, że te obiekty nie są niszczone przed destruktorami dla takich zdefiniowanych obiektów statycznych. (Strumienie wyjściowe są jednak opróżniane podczas kończenia działania programu). W związku z tym można bezpiecznie odczytywać strumienie standardowe lub zapisywać je przed uruchomieniem programu i po zakończeniu programu.
Ta gwarancja nie jest jednak uniwersalna. Konstruktor statyczny może wywołać funkcję w innej jednostce tłumaczenia. Wywołana funkcja nie może zakładać, że obiekty zadeklarowane w tym nagłówku zostały skonstruowane, biorąc pod uwagę niepewną kolejność, w której jednostki tłumaczenia uczestniczą w konstrukcji statycznej. Aby użyć tych obiektów w takim kontekście, należy najpierw skonstruować obiekt klasy ios_base::Init.
Obiekty strumienia globalnego
| Nazwa/nazwisko | opis |
|---|---|
cerr |
Określa cerr strumień globalny. |
cin |
Określa cin strumień globalny. |
clog |
Określa clog strumień globalny. |
cout |
Określa cout strumień globalny. |
wcerr |
Określa wcerr strumień globalny. |
wcin |
Określa wcin strumień globalny. |
wclog |
Określa wclog strumień globalny. |
wcout |
Określa wcout strumień globalny. |
cerr
Obiekt cerr kontroluje dane wyjściowe do buforu strumienia skojarzonego z obiektem stderr, zadeklarowanym w pliku <cstdio>.
extern ostream cerr;
Wartość zwracana
Obiekt ostream.
Uwagi
Obiekt kontroluje niebuforowane wstawienia do standardowych danych wyjściowych błędu jako strumienia bajtów. Po utworzeniu obiektu wyrażenie cerr.flags & unitbuf nie jestzerowe i cerr.tie() == &cout. Aby uzyskać więcej informacji, zobacz cerr.flags i unitbuf.
Przykład
// 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
Określa cin strumień globalny.
extern istream cin;
Wartość zwracana
Obiekt istream.
Uwagi
Obiekt steruje wyodrębnianiem ze standardowych danych wejściowych jako strumienia bajtów. Po utworzeniu obiektu wywołanie zwraca wartość cin.tie &cout.
Przykład
W tym przykładzie ustawia bit niepowodzenia w strumieniu, cin gdy występuje on w znakach nieliczbowych. Program czyści bit niepowodzenia i usuwa nieprawidłowy znak ze strumienia, aby kontynuować.
// 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
Określa clog strumień globalny.
extern ostream clog;
Wartość zwracana
Obiekt ostream.
Uwagi
Kontrolki obiektu buforowane wstawiania do standardowych danych wyjściowych błędu jako strumienia bajtów.
Przykład
Zobacz cerr przykład użycia elementu clog.
cout
Określa cout strumień globalny.
extern ostream cout;
Wartość zwracana
Obiekt ostream.
Uwagi
Obiekt steruje wstawianiami do standardowych danych wyjściowych jako strumienia bajtów.
Przykład
Zobacz cerr przykład użycia elementu cout.
wcerr
Określa wcerr strumień globalny.
extern wostream wcerr;
Wartość zwracana
Obiekt wostream.
Uwagi
Obiekt kontroluje niebuforowane wstawienia do standardowych danych wyjściowych błędów jako szeroki strumień. Po utworzeniu obiektu wyrażenie wcerr.flags & unitbuf nie jestzerowe. Aby uzyskać więcej informacji, zobacz wcerr.flags i unitbuf.
Przykład
Zobacz cerr przykład użycia elementu wcerr.
wcin
Określa wcin strumień globalny.
extern wistream wcin;
Wartość zwracana
Obiekt wistream.
Uwagi
Obiekt steruje wyodrębnianiem ze standardowych danych wejściowych jako strumienia szerokiego. Po utworzeniu obiektu wywołanie zwraca wartość wcin.tie &wcout.
Przykład
Zobacz cerr przykład użycia elementu wcin.
wclog
Określa wclog strumień globalny.
extern wostream wclog;
Wartość zwracana
Obiekt wostream.
Uwagi
Kontrolki obiektu buforowane wstawiania do standardowych danych wyjściowych błędów jako szeroki strumień.
Przykład
Zobacz cerr przykład użycia elementu wclog.
wcout
Określa wcout strumień globalny.
extern wostream wcout;
Wartość zwracana
Obiekt wostream.
Uwagi
Obiekt steruje wstawianiami do standardowych danych wyjściowych jako strumienia szerokiego.
Przykład
Zobacz cerr przykład użycia elementu wcout.
CString wystąpienia w wcout instrukcji należy rzutować na const wchar_t*, jak pokazano w poniższym przykładzie.
CString cs("meow");
wcout <<(const wchar_t*) cs <<endl;
Aby uzyskać więcej informacji, zobacz Podstawowe operacje CString.
Zobacz też
Odwołanie do plików nagłówka
Bezpieczeństwo wątku w standardowej bibliotece C++
iostream, programowanie
Konwencje iostream