Compartilhar via


Operadores <istream>

operator>>

Extrai caracteres e cadeias de caracteres do fluxo.

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);

Parâmetros

Ch
Um caractere.

Istr
Um fluxo.

str
Uma cadeia de caracteres.

val
Um tipo .

Valor de retorno

O fluxo

Comentários

A classe basic_istream também define vários operadores de extração. Para obter mais informações, confira basic_istream::operator>>.

O modelo de função:

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

extrai até N - 1 elementos e os armazena na matriz que começa em str. Se a Istr.largura for maior que zero, N será Istr.width; caso contrário, será o tamanho da maior matriz de Elem que pode ser declarada. A função sempre armazena o valor Elem() após qualquer elemento extraído que armazena. A extração é interrompida prematuramente no final do arquivo, em um caractere com valor Elem(0) (que não é extraído) ou em qualquer elemento (que não é extraído) que seria descartado por ws. Se a função não extrair nenhum elemento, ela chamará Istr.setstate(failbit). De qualquer forma, ele chama Istr.width(0) e retorna Istr.

Observação de segurança a cadeia de caracteres terminada em nulo que está sendo extraída do fluxo de entrada não deve ultrapassar o tamanho do buffer de destino str. Para obter mais informações, consulte Avoiding Buffer Overruns (Evitando estouros de buffer).

O modelo de função:

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

extrai um elemento, se for possível, e o armazena em Ch. Caso contrário, ela chamará is.setstate(failbit). Em qualquer caso, ele retorna Istr.

O modelo de função:

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

Retorna Istr >> ( char * ) str.

O modelo de função:

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

Retorna Istr >> ( char& ) Ch.

O modelo de função:

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

Retorna Istr >> ( char * ) str.

O modelo de função:

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

Retorna Istr >> ( char& ) Ch.

O modelo de função:

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

retorna Istr >> val (e converte uma referência de rvalue para Istr para um lvalue no processo).

Exemplo

// 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;
}

Confira também

<istream>