Partilhar via


basic_istream::operator>>

Chama uma função no fluxo de entrada ou ler dados formatados do fluxo de entrada.

basic_istream& operator>>(
   basic_istream& (*_Pfn)(basic_istream&)
);
basic_istream& operator>>(
   ios_base& (*_Pfn)(ios_base&)
);
basic_istream& operator>>(
   basic_ios<Elem, Tr>& (*_Pfn)(basic_ios<Elem, Tr>&))
;
basic_istream& operator>>(
   basic_streambuf<Elem, Tr> *_Strbuf
);
basic_istream& operator>>(
   bool& _Val
);
basic_istream& operator>>(
   short& _Val
);
basic_istream& operator>>(
   unsigned short& _Val
);
basic_istream& operator>>(
   int& _Val
);
basic_istream& operator>>(
   unsigned int& _Val
);
basic_istream& operator>>(
   long& _Val
);
basic_istream& operator>>(
   unsigned long& _Val
);
basic_istream& operator>>(
   long long& _Val
);
basic_istream& operator>>(
   unsigned long long& _Val
);
basic_istream& operator>>(
   void *& _Val
);
basic_istream& operator>>(
   float& _Val
);
basic_istream& operator>>(
   double& _Val
);
basic_istream& operator>>(
   long double& _Val
);

Parâmetros

  • _Pfn
    Um ponteiro de função.

  • _Strbuf
    Um objeto do tipo stream_buf.

  • _Val
    O valor à leitura do fluxo.

Valor de retorno

O fluxo (*this).

Comentários

O cabeçalho de <istream> também define vários operadores globais de extração. Para obter mais informações, consulte operator>> (<istream>).

A primeira função de membro assegura que uma expressão de formato istr >>ws chama WS(istr), e retorna em *this. A segunda e a terceira funções verifique se os manipuladores, como hexadecimal, se comportem de forma semelhante. As outras funções que as funções de entrada formatados.

A função:

basic_istream& operator>>(
    basic_streambuf<Elem, Tr> *_Strbuf);

extrai os elementos, se _Strbuf não for um ponteiro nulo, e inserir em _Strbuf. Paradas de extração no final do arquivo. Também para sem extrair o elemento em questão, se uma inserção falhará ou lance uma exceção (que será capturada mas não rethrown). Se a função não extraem nenhum elemento, chama setstate(failbit). Em qualquer caso, a função retornará *this.

A função:

basic_istream& operator>>(bool& _Val);

extrai um campo e converte-o em um valor booliano chamando use_facet <num_get<Elem, InIt>(getloc). obter(InIt( rdbuf), Init(0), *this, getloc, _Val). Aqui, InIt é definido como istreambuf_iterator<Elem, Tr>. A função retorna *this.

As funções:

basic_istream& operator>>(short& _Val);
basic_istream& operator>>(unsigned short& _Val);
basic_istream& operator>>(int& _Val);
basic_istream& operator>>(unsigned int& _Val);
basic_istream& operator>>(long& _Val);
basic_istream& operator>>(unsigned long& _Val);

basic_istream& operator>>(long long& _Val);
basic_istream& operator>>(unsigned long long& _Val);

basic_istream& operator>>(void *& _Val);

cada extração um campo e converte-o em um valor numérico chamando use_facet<num_get<Elem, InIt>(getloc). obter(InIt( rdbuf), Init(0), *this, getloc, _Val). Aqui, InIt é definido como istreambuf_iterator<Elem, Tr>, e _Val têm o tipo long*, unsigned long,* ou void * quando necessário.

Se o valor convertido não pode ser representado como o tipo de _Val, as chamadas de função setstate(failbit). Em qualquer caso, a função retornará *this.

As funções:

basic_istream& operator>>(float& _Val);
basic_istream& operator>>(double& _Val);
basic_istream& operator>>(long double& _Val);

cada extração um campo e converte-o em um valor numérico chamando use_facet<num_get<Elem, InIt>(getloc). get(InIt( rdbuf), Init(0), *this, getloc, _Val). Aqui, InIt é definido como istreambuf_iterator<Elem, Tr>, e _Val têm o tipo double ou long double quando necessário.

Se o valor convertido não pode ser representado como o tipo de _Val, as chamadas de função setstate(failbit). Em qualquer caso, retorna *this.

Exemplo

// istream_basic_istream_op_is.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;

ios_base& hex2( ios_base& ib ) 
{
   ib.unsetf( ios_base::dec );
   ib.setf( ios_base::hex );
   return ib;
}

basic_istream<char, char_traits<char> >& somefunc(basic_istream<char, char_traits<char> > &i)
{
   if ( i == cin ) 
   {
      cerr << "i is cin" << endl;
   }
   return i;
}

int main( ) 
{
   int i = 0;
   cin >> somefunc;
   cin >> i;
   cout << i << endl;
   cin >> hex2;
   cin >> i;
   cout << i << endl;
}

Entrada

10
10

Saída de Exemplo

i is cin
10
10
10
16

Requisitos

istream <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe basic_istream

operator>> (<istream>)

Programação iostream

Convenções iostreams