Función getline() y array de caracteres en C++

getline() de C++ es una función de biblioteca estándar que se utiliza para leer una string o una línea de un flujo de entrada. Es una parte del encabezado <string>. La función getline() extrae caracteres del flujo de entrada y los agrega al objeto de string hasta que se encuentra el carácter delimitador. Debe leer el artículo getline(string) en C++ para obtener más detalles.

En C++, las clases de flujo admiten funciones orientadas a la línea, getline() y write() para realizar funciones de entrada y salida respectivamente. 

Getline Character Array: esta función lee toda la línea de texto que termina con una nueva línea o hasta que se alcanza el límite máximo. getline() es la función miembro de la clase istream.

Sintaxis:

// (buffer, stream_size, delimiter)
istream& getline(char*, int size, char='\n')

// The delimiter character is considered as '\n'
istream& getline(char*, int size)

Parámetros:

  • char*: puntero de carácter que apunta a la array.
  • Tamaño: Actúa como un delimitador que define el tamaño de la array.

La función realiza las siguientes operaciones: 

  • Extrae el carácter hasta el delimitador. 
  • Almacena los caracteres en el búfer. 
  • El número máximo de caracteres extraídos es tamaño – 1. 

Nota: que el carácter terminador (o delimitador) puede ser cualquier carácter (como ‘ ‘, ‘, ‘ o cualquier carácter especial, etc.). El carácter terminador se lee pero no se guarda en un búfer, sino que se reemplaza por el carácter nulo. 

Por ejemplo:

Input: Aditya Rakhecha 

CPP

// C++ program to show the getline() with
// character array
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
    char str[20];
    cout << "Enter Your Name::";
  
    // see the use of getline() with array
    // str also replace the above statement
    // by cin >> str and see the difference
    // in output
    cin.getline(str, 20);
  
    cout << "\nYour Name is:: " << str;
    return 0;
}

Producción

 Your Name is:: Aditya Rakhecha

Explicación: En el programa anterior, la sentencia cin.getline(str, 20); lee una string hasta que encuentra el carácter de nueva línea o el número máximo de caracteres (aquí 20). Pruebe la función con diferentes límites y vea el resultado.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por AdityaRakhecha 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 *