Cómo leer una cadena con espacios en C ++?

En este capítulo, vamos a aprender cómo leer una cadena completa con espacios en C ++?

Para leer cualquier tipo de valor como número entero, float, carácter utilizamos cin , cin es el objeto de istream clase que le dice al compilador para leer el valor del dispositivo de entrada.

Pero , en case de cuerda cin no funciona correctamente.

Vamos a leer una cadena usando cin

#include <iostream>
using namespace std;
int main()
{
char name[100]={0};
//read name
cout<<"Enter your name: ";
cin>>name;
//print name
cout<<"Name is: "<<name<<endl;
return 0;
}

Ahora , considere la salida -1 . Aquí , estoy dando “Vanka” (nombre A sin espacio).

Salida – 1

Enter your name: Vanka
Name is: Vanka

“Vanka” se almacenará en la variable nombre e imprimir correctamente.

Ahora , considerar la salida de -2 . Aquí , estoy dando “Vanka Manikanth” (nombre con un espacio).

de salida – 2

Enter your name: Vanka Manikanth
Name is: Vanka

En este case, la cadena se extinguirá en los espacios encontrados, esto sólo “Vanka” se almacenará en la variable nombre .

Ahora, cómo leer cadena con espacios en C ++?

Podemos utilizar una función getline (), que permiten leer cuerda hasta que ingrese (clave return) no se encuentra.

lectura cadena utilizando cin.getline () con espacios

getline () es el fucntion miembro de istream clase, que se utiliza para leer cadena con espacios, aquí están los siguientes parámetros de getline () función [Lea más sobre std :: :: getline istream ]

sintaxis:

istream& getline (char* s, streamsize n );

char * s : carácter puntero (cadena) para almacenar la cadena
streamsize n : número máximo de caracteres a leer una cadena

Considere el programa dado

#include <iostream>
using namespace std;
int main()
{
char name[100]={0};
//read name
cout<<"Enter your name: ";
cin.getline(name,100);
//print name
cout<<"Name is: "<<name<<endl;
return 0;
}

Considere la salida dada; aquí estoy dando “Sr. Vanka Manikanth” (nombre A que contiene dos espacios entre las palabras).

salida

Enter your name: Mr. Vanka Manikanth
Name is: Mr. Vanka Manikanth

Aquí , nombre completo / cadena “Sr. Vanka Manikanth” se almacenará en la variable de nombre .


Deja un comentario

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