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