Compartilhar via


basic_istream::operator>>

Chamar uma função no fluxo de entrada ou ler dados formatados de 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 de 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 mais informações, consulte operator>> (<istream>).

A primeira função de membro garante que uma expressão de formulário istr >> ws chama WSistr(), e então retorna *this.A segunda e terceira funções garantem que outros manipuladores, como hex, se comportem da mesma forma.As funções restantes constituem as funções de entrada formatados.

a função:

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

extrai os elementos, se _Strbuf não é um ponteiro nulo, e inserir-los em _Strbuf.Paradas de extração no final do arquivo.Também para sem extrair o elemento em questão, se uma inserção ou falha gera uma exceção (que é detectada mas não rethrown).Se a função não em qualquer elemento, chama setstatefailbit().Em qualquer caso, a função retorna *this.

a função:

basic_istream& operator>>(bool& _Val);

extrai um campo e convertê-lo para um valor Booleano 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 extrair um campo e convertê-lo para 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 tem 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 setstatefailbit().Em qualquer caso, a função retorna *this.

As funções:

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

cada extrair um campo e convertê-lo para 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 tem 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 setstatefailbit().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

A saída de exemplo

i is cin
10
10
10
16

Requisitos

Cabeçalho: <istream>

namespace: STD

Consulte também

Referência

basic_istream Class

operator>> (<istream>)

iostream de programação

Convenções de iostreams