close
Espacios de nombres
Variantes

std::basic_istream::ignore

De cppreference.com
 
 
Biblioteca de E/S
Manipuladores de E/S
E/S estilo C
Búferes
(en desuso en C++98)
Flujos
Abstracciones
E/S de archivos
E/S de cadenas
E/S de arrays
(en desuso en C++98)
(en desuso en C++98)
(en desuso en C++98)
Salida sincronizada
Tipos
Interfaz de categoría de error
(C++11)
 
std::basic_istream
Los objetos globales
Original:
Global objects
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Las funciones miembro
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Entrada con formato
Original:
Formatted input
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Entrada sin formato
Original:
Unformatted input
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Posicionamiento
Original:
Positioning
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Varios
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Clases de miembros
Original:
Member classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Terceros funciones
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
<tbody> </tbody>
basic_istream& ignore( std::streamsize count = 1, int_type delim = Traits::eof() );

Extrae y descarta caracteres del flujo de entrada hasta delim inclusive.

ignore se comporta como una FunciónDeEntradaSinFormato. Después de construir y verificar el objeto centinela, extrae caracteres del flujo y los descarta hasta que se produzca alguna de las siguientes condiciones:

  • Se extrajeron count caracteres. Esta prueba se desactiva en el caso especial en el que count es igual a std::numeric_limits<std::streamsize>::max().
  • Se producen condiciones de fin de archivo en la secuencia de entrada, en cuyo caso la función llama a setstate(eofbit).
  • El siguiente carácter disponible c en la secuencia de entrada es delim, según lo determinado por Traits::eq_int_type(Traits::to_int_type(c), delim). Se extrae y se descarta el carácter delimitador. Esta prueba está deshabilitada si delim es Traits::eof().

Parámetros

count - Número de caracteres a extraer.
delim - Carácter delimitador en el que se detendrá la extracción. También se extrae.

Valor de retorno

*this

Excepciones

failure si se produjo un error (el indicador de estado de error no es goodbit) y exceptions() está establecido para generar una excepción para ese estado.

Si una operación interna genera una excepción, se captura y se establece badbit. Si exceptions() está establecido para badbit, se vuelve a generar la excepción.

Ejemplo

El siguiente ejemplo utiliza ignore para omitir la entrada no numérica:

#include <iostream>
#include <limits>
#include <sstream>

constexpr auto max_size = std::numeric_limits<std::streamsize>::max();

int main()
{
    std::istringstream input("1\n"
                             "alguna entrada no numérica\n"
                             "2\n");
    for (;;)
    {
        int n;
        input >> n;
        
        if (input.eof() || input.bad())
            break;
        else if (input.fail())
        {
            input.clear(); // desestablece failbit
            input.ignore(max_size, '\n'); // saltarse entrada incorrecta
        }
        else
            std::cout << n << '\n';
    }
}

Salida:

1
2

Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 172 C++98 El tipo de count estaba mal especificado como int. Se corrigió a std::streamsize.

Véase también

Extrae caracteres.
(función miembro pública) [editar]
Extrae caracteres hasta que se encuentra el carácter dado.
(función miembro pública) [editar]