Funzione getline

di il
2 risposte

Funzione getline

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.

2 Risposte

  • Re: Funzione getline

    Dopo la cin utilizza la

    cin.ignore();
  • Re: Funzione getline

    Ok, grazie mille, ed ho anche capito perchè xD
Devi accedere o registrarti per scrivere nel forum
2 risposte