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


operator>> (<istream>)

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

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.width больше нуля, N_Istr.width; в противном случае размер самого большого массива Elem, можно объявить. Функция всегда хранит значение Elem() после того, как все извлеченные элементы хранится. Извлечение останавливается на ранней стадии конец файла в символе со значением Elem(0) (что не извлекаются) или в любом элементе (что не извлекаются), будет отменено WS. Если функция не извлекает элементов, она вызывает _Istr.setstate(failbit). В любом случае она вызывает _Istr.width(0) и возвращает _Istr.

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

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

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 reference в _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;
}

Ввод

1234567890

Output

12345678

Требования

Заголовок:<istream>

Пространство имен: std

См. также

Ссылки

basic_istream::operator>>

Программирование iostream

Соглашения iostreams