Ayuda con uso de getline
Publicado por Sergio García Pastrana (1 intervención) el 29/08/2008 19:29:47
Vamos a ver, que tengo un lío del copón con el uso del getline:
Sé cómo se puede pedir usándolo que se introduzca un array de caracteres (char nombre[100]; cin.getline(nombre, 100)).
Lo que no sé es cómo usarlo con otro tipo de datos, y me interesa particularmente para las string. Tengo que hacer un casting del tipo de dato que sea a char*? Contando que si es string es con el método c_str()?
Que sé que hay maneras más fáciles de pedir datos (cin y a correr), pero resulta que en un problema de examen, dentro de una clase hay dos strings distintas, una que almacena un nombre y la otra que almacena una descripción. Y en la que almacena el nombre no puede haber espacios, y me huelo que tiene que ver algo con esto. Me suena que en un parámetro de los que recibe el getline se podía poner el carácter salto de línea o algo de eso, no?
Me descoloca también que en la sobrecarga de un operador >> tengo en un ejemplo:
getline(cin, a, ' '); // siendo a una string
Necesito alguien que me lo aclare antes de volverme loco!
Sé cómo se puede pedir usándolo que se introduzca un array de caracteres (char nombre[100]; cin.getline(nombre, 100)).
Lo que no sé es cómo usarlo con otro tipo de datos, y me interesa particularmente para las string. Tengo que hacer un casting del tipo de dato que sea a char*? Contando que si es string es con el método c_str()?
Que sé que hay maneras más fáciles de pedir datos (cin y a correr), pero resulta que en un problema de examen, dentro de una clase hay dos strings distintas, una que almacena un nombre y la otra que almacena una descripción. Y en la que almacena el nombre no puede haber espacios, y me huelo que tiene que ver algo con esto. Me suena que en un parámetro de los que recibe el getline se podía poner el carácter salto de línea o algo de eso, no?
Me descoloca también que en la sobrecarga de un operador >> tengo en un ejemplo:
getline(cin, a, ' '); // siendo a una string
Necesito alguien que me lo aclare antes de volverme loco!
Valora esta pregunta
0