[ Foro de C++ ]

como utilizar getline

19-Jan-2021 19:40
Invitado (AGGV)
3 Respuestas

Buenas! alguien puede ayudarme? quiero ingresar en el vector n nombres, pero no me deja escribir el primer nombre.

#include<iostream>
#include<string>
using namespace std;
int main(){
int i=0, n=2;
string nombre[20];
string apellido[20];

cout<<"Ingrese la cantidad de personas:  ";
cin>>n;
cout<<endl;

for (i=0; i<n; i++){
cout<<"\n ingrese su nombre: ";getline(cin,nombre[i]);cout<<endl;
}
return 0;
}


19-Jan-2021 20:16
Nacho Cabanes (+75)

No deberías mezclar "getline" con "cin" convencionales.

Hay varias soluciones, como vaciar el buffer de teclado tras leer cada número, o leer como cadena y luego convertir a número.


22-Jan-2021 00:31
Invitado (yo)

se puede "mezclar" perfectamente getline con cin "convencionales"...


22-Jan-2021 09:46
Nacho Cabanes (+75)

No se debe (sin precaución). Si el "cin" lee números, el salto de línea final queda en el buffer del teclado y el "getline" siguiente lee una cadena vacía.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)