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

El std::basic_istream::getline se usa para extraer los caracteres del flujo hasta el final de la línea o el carácter extraído es el carácter delimitador. 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 realiza mediante archivo.
Archivo de cabecera: 

#include <iostream>

Sintaxis: 

basic_istream& getline (char_type* a, 
                            streamsize n )

basic_istream& getline (char_type* a, 
                            streamsize n, 
                             char_type delim);

Parámetros: Acepta los siguientes parámetros: 
 

  • N: Representa el número máximo de caracteres apuntados por a.
  • a: Es el puntero a la string para almacenar los caracteres.
  • stream: Es un carácter delimitador explícito.

Valor devuelto: Devuelve el objeto basic_istream .
A continuación se muestra el programa para demostrar basic_istream::getline() :
Programa 1: 

CPP

// C++ program to demonstrate
// basic_istream::getline
 
#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    // Given string
    istringstream gfg("123|aef|5h");
 
    // Array to store the above string
    // after streaming
    vector<array<char, 4> > v;
 
    // Use function getline() to stream
    // the given string with delimiter '|'
    for (array<char, 4> a;
         gfg.getline(&a[0], 4, '|');) {
        v.push_back(a);
    }
 
    // Print the strings after streaming
    for (auto& it : v) {
        cout << &it[0] << endl;
    }
 
    return 0;
}
Producción: 

123
aef
5h

 

Programa 2: 

CPP

// C++ program to demonstrate
// basic_istream::getline
 
#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    // Given string
    istringstream gfg("GeeksforGeeks, "
                      " A, Computer, Science, "
                      "Portal, For, Geeks");
 
    // Array to store the above string
    // after streaming
    vector<array<char, 40> > v;
 
    // Use function getline() to stream
    // the given string with delimiter ', '
    for (array<char, 40> a;
         gfg.getline(&a[0], 40, ', ');) {
        v.push_back(a);
    }
 
    // Print the strings after streaming
    for (auto& it : v) {
        cout << &it[0] << endl;
    }
 
    return 0;
}
Producción: 

GeeksforGeeks
A
Computer
Science
Portal
For
Geeks

 

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

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 *