Spec-Zone.ru › C++

std::cin, std::wcin

Определено в заголовочном файле <iostream>
extern std::istream cin;
(1)
extern std::wistream wcin;
(2)

Глобальные объекты std::cin и std::wcin управляют вводом из буфера потока типа, определяемого реализацией (производного от std::streambuf), связанного со стандартным входным потоком C stdin.

Гарантируется, что эти объекты будут инициализированы во время или до первого создания объекта типа std::ios_base::Init; они доступны для использования в конструкторах и деструкторах статических объектов с упорядоченной инициализацией (если <iostream> включен до определения объекта).

Если не был вызван sync_with_stdio(false), к этим объектам безопасно одновременно обращаться из нескольких потоков как для форматированного, так и для неформатированного ввода.

После инициализации:

1) std::cin.tie() возвращает &std::cout. Это означает, что любая операция ввода для std::cin вызывает std::cout.flush(), если есть символы, ожидающие вывода..
2) std::wcin.tie() возвращает &std::wcout. Это означает, что любая операция ввода для std::wcin вызывает std::wcout.flush(), если есть символы, ожидающие вывода.

Примечания

Буква «c» в названии означает «символ» (FAQ на stroustrup.com); cin означает «ввод символов», а wcin — «ввод широких символов».

Пример

#include <iostream>

struct Foo
{
    int n;
    Foo()
    {
        std::cout << "Enter n: "; // no flush needed
        std::cin >> n;
    }
};

Foo f; // static object

int main()
{
    std::cout << "f.n is " << f.n << '\n';
}

Возможный вывод:

Enter n: 10
f.n is 10

См. также

Init
инициализирует стандартные объекты потоков
(открытый класс-член std::ios_base)
coutwcout
выполняет запись в стандартный выходной поток C stdout
(глобальный объект)
stdinstdoutstderr
выражение типа FILE*, связанное с входным потоком
выражение типа FILE*, связанное с выходным потоком
выражение типа FILE*, связанное с потоком вывода ошибок
(макроконстанта)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/cin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API