Поделиться через


<istream> Операторов

operator>>

Извлекает символы и строки из потока.

template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<Elem, Tr>& Istr,
    Elem* str);

template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<Elem, Tr>& Istr,
    Elem& Ch);

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr,
    signed char* str);

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr,
    signed char& Ch);

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr,
    unsigned char* str);

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr,
    unsigned char& Ch);

template <class Elem, class Tr, class Type>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<char, Tr>&& Istr,
    Type& val);

Параметры

Ch
Символ.

Istr
Поток.

str
Строка .

Val
Тип.

Возвращаемое значение

Поток.

Замечания

Класс basic_istream также определяет несколько операторов извлечения. Дополнительные сведения см. в разделе basic_istream::operator>>.

Шаблон функции:

template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<Elem, Tr>& Istr, Elem* str);

извлекает элементы N - 1 и сохраняет их в массиве, начиная с str. Если Istr.ширина больше нуля, N Istr.width имеет значение ; в противном случае это размер крупнейшего массиваElem, который можно объявить. Функция всегда сохраняет значение Elem() после всех извлеченных элементов, которые он хранит. Извлечение останавливается рано на конце файла, на символе со значением Elem(0) (который не извлекается) или на любом элементе (который не извлекается), который будет удален ws. Если функция не извлекает ни один элемент, она вызывает Istr.setstate(failbit). В любом случае он вызывает Istr.width(0) и возвращает Istr.

Примечание безопасности. Строка, завершаемая значением NULL, извлекаемая из входного потока, не должна превышать размер целевого буфера. Дополнительные сведения см. в разделе Как избежать переполнения буфера.

Шаблон функции:

template <class Elem, class Tr>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<Elem, Tr>& Istr, Elem& Ch);

извлекает элемент, если это возможно, и сохраняет его в Ch. В противном случае вызывается is.setstate(failbit). В любом случае он возвращает Istr.

Шаблон функции:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, signed char* str);

Возвращает Istr >> ( char * ) str.

Шаблон функции:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, signed char& Ch);

Возвращает Istr >> ( char& ) Ch.

Шаблон функции:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, unsigned char* str);

Возвращает Istr >> ( char * ) str.

Шаблон функции:

template <class Tr>
basic_istream<char, Tr>& operator>>(
    basic_istream<char, Tr>& Istr, unsigned char& Ch);

Возвращает Istr >> ( char& ) Ch.

Шаблон функции:

template <class Elem, class Tr, class Type>
basic_istream<Elem, Tr>& operator>>(
    basic_istream<char, Tr>&& Istr,
    Type& val);

возвращает Istr >> val (и преобразует ссылку rvalue в Istr lvalue в процессе).

Пример

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

int main( )
{
   ws( cin );
   char c[10];

   cin.width( 9 );
   cin >> c;
   cout << c << endl;
}

См. также

<istream>