Ho un problema con la funzione getline(stream, string): quando uso come stream quello di imput standard (cin), mi salta senza troppi problemi l'istruzione, però questo accade solo se in precedenza ho usato "cin>>". Mi spiego meglio con un esempio:
int main(){
string c1;
getline(cin, c1);
cout<<c1<<endl;
return 0;
}
Mi funziona tranquillamente.
int main(){
int i;
cin>>i;
string c1;
getline(cin, c1);
cout<<c1<<endl;
return 0;
}
Non mi permette di inserire c1.
Uso devc++ come compilatore (ma non credo sia dovuto a questo), qualcuno può aiutarmi a capire perché accade ciò e come ovviare al problema? E' ben accetto l'uso di un'altra funzione che mi permette di mettere in imput una stringa con caratteri speciali e spazi!
Ps: ovviamente se lo metto due volte mi permette di inserire la stringa, ma è un metodo decisamente troppo barbaro e per nulla pulito.