std::basic_istream::ignore en C++ con ejemplos

El std::basic_istream::ignore se usa para extraer caracteres de la string de entrada y los descarta, incluido el carácter delimitador, es decir, si se llega al final del archivo, esta función deja de extraer caracteres. El carácter delimitador es el carácter de nueva línea, es decir, ‘\n’ . Esta función también dejará de extraer caracteres si se llega al final del archivo si la entrada se toma mediante un archivo. Esta función accede a la secuencia de entrada construyendo primero un objeto centinela . Extrae caracteres de su objeto de búfer de flujo asociado y destruye el objeto centinela antes de regresar.
Archivo de cabecera: 

#include <iostream>

Sintaxis: 

istream& ignore(size N,
            int delim = EOF);

Parámetros: Acepta los siguientes parámetros: 

  • N: Representa el número máximo de caracteres a extraer.
  • delim: Se utiliza para donde detener la extracción.

Valores devueltos: Devuelve el objeto basic_istream .
A continuación se encuentran los programas para demostrar basic_istream::ignore() :
Programa 1: 

CPP

// C++ program to demonstrate
// basic_istream::ignore
 
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
 
    // Input String
    istringstream input(
        "12\n"
        "It is a string\n"
        "14\n");
 
    for (;;) {
 
        int n;
 
        // Taking input streamed string
        input >> n;
 
        // Check for end of file or if
        // any bad  bit occurs
        if (input.eof() || input.bad()) {
            break;
        }
 
        // If any failbit occurs
        else if (input.fail()) {
 
            // Clear the input
            input.clear();
 
            // Use ignore to stream the given
            // input as per delimiter '\n'
            input.ignore(
                numeric_limits<streamsize>::max(),
                '\n');
        }
 
        // Else print the integer in
        // the string
        else {
            cout << n << '\n';
        }
    }
    return 0;
}
Producción: 

12
14

 

Programa 2: 

CPP

// C++ program to demonstrate
// basic_istream::ignore
 
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
 
    char first, last;
 
    cout << "Enter a String: ";
 
    // Get one character
    first = cin.get();
 
    // Ignore string until space occurs
    cin.ignore(256, ' ');
 
    // Get one character
    last = std::cin.get();
 
    cout << "Your initials are "
         << first << ' '
         << last << '\n';
 
    return 0;
}

Producción: 

Referencia: http://www.cplusplus.com/reference/istream/basic_istream/ignore/

Publicación traducida automáticamente

Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *