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