Forse ho qualche confusione sulla funzione get...![]()
io so che cin.get(c) si comporta allo stesso modo di cin >> c con la differenza (unica?) che get legge anche spazi bianchi..... Quindi compilando il codice io mi aspetto che quando arriviamo a while (cin.get(c) && c!='\n'); leggiamo una serie di caratteri finchè non digitiamo "a capo"... in questo modo i nuovi caratteri digitati vanno a riempire lo stream cin.... questo è ciò che mi aspetto ma evidentemente mi sbaglio....codice:int main() { char c; int i; cin >> i; if (!cin) cerr << "ERRORE" << endl; cin.clear(); //resetta lo stream while (cin.get(c) && c!='\n'); //svuota lo stream cin cin>>i; cout << i << endl; system("PAUSE"); return 0; }

Rispondi quotando