Pues con este código lo único que quiero es recoger un string incluyendo los espacios y para eso utilizo getline.
El problema es que cuando escribo el dato tengo que pulsar dos returns en lugar de una vez, como funciona cin.
Si no me equivoco, el problema es que el getline después de los datos de entrada , siempre pone al final /n.
Y /n se tiene que borrar con ignore.
Pero no consigo hacerlo.
¿Estoy en lo cierto en lo referente a ‘/n? o ¿porque razón hay que teclear dos veces a return.?
¿O es mejor utilizar otra forma para recoger variables string con espacios?
Código
Un saludo y gracias por vuestro tiempo.
#include <iostream> #include <string> using namespace std; int main() { string fichero; cout << "entra datos"; cout << endl<< endl; getline (cin,fichero); cout << endl<< endl; cout << fichero << " numero de caracteres"; cout << endl<< endl; cout << fichero.length(); cout << endl<< endl; cout << fichero.capacity(); cout << endl<< endl; cout << fichero.size(); cout << endl<< endl; return 0; }