Compartir vía


<istream> Operadores

operator>>

Extrae caracteres y cadenas del flujo.

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
Un carácter.

Istr
Flujo.

str
Una cadena.

val
Tipo .

Valor devuelto

Flujo.

Comentarios

La clase basic_istream también define varios operadores de extracción. Para obtener más información, vea basic_istream::operator>>.

La plantilla de función:

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

extrae hasta N - 1 elementos y los almacena en la matriz empezando por str. Si Istr.width es mayor que cero, N es Istr.width; de lo contrario, es el tamaño de la matriz más grande de Elem que se puede declarar. La función siempre almacena el valor Elem() después de los elementos extraídos que haya almacenado. La extracción se detiene anticipadamente al final del archivo, en un carácter con el valor Elem(0) (que no se extrae) o en cualquier elemento (que no se extrae) que ws descartaría. Si la función no extrae ningún elemento, llama a Istr.setstate(failbit). En cualquier caso, llama a Istr.width(0) y devuelve Istr.

Nota de seguridad La cadena terminada en null que se extrae del flujo de entrada no debe superar el tamaño del búfer de destino str. Para obtener más información, vea Avoiding Buffer Overruns(Evitar saturaciones del búfer).

La plantilla de función:

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

extrae un elemento, si es posible, y lo almacena en Ch. En caso contrario, llama a is.setstate(failbit). En cualquier caso, devuelve Istr.

La plantilla de función:

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

Devuelve Istr >> ( char * ) str.

La plantilla de función:

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

Devuelve Istr >> ( char& ) Ch.

La plantilla de función:

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

Devuelve Istr >> ( char * ) str.

La plantilla de función:

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

Devuelve Istr >> ( char& ) Ch.

La plantilla de función:

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

devuelve Istr >> val (y convierte una referencia de valor L a Istr en una referencia de valor R en el proceso).

Ejemplo

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

Vea también

<istream>