PDA

View Full Version : [c++] cin.ignore..


pixie
07-02-2010, 14:15
Salve a tutti.
Volevo sapere. Cosa serve nello specifico cin.ignore() ?

Avendo questo codice:
cout << "Testo" <<endl;
cin.ignore ();
In questo caso nessun problema.
Ora se metto come parametro della cin.ignore il valore 2, perchè mi salta 2 righe? Da quello che ho capito cin.ignore serve ad ignorare 1, 2, 3, ... caratteri a seconda del parametro immesso.

N.B. utilizzo cin.ignore perchè altrimenti mi dava problemi con la cin.getline che si trova nell'istruzione successiva.

pixie
08-02-2010, 09:29
:help: :help: :help: :(

!fazz
08-02-2010, 10:05
Salve a tutti.
Volevo sapere. Cosa serve nello specifico cin.ignore() ?

Avendo questo codice:
cout << "Testo" <<endl;
cin.ignore ();
In questo caso nessun problema.
Ora se metto come parametro della cin.ignore il valore 2, perchè mi salta 2 righe? Da quello che ho capito cin.ignore serve ad ignorare 1, 2, 3, ... caratteri a seconda del parametro immesso.

N.B. utilizzo cin.ignore perchè altrimenti mi dava problemi con la cin.getline che si trova nell'istruzione successiva.

cin. ingore serve a svuotare il buffer della tastiera, un consiglio usala nella forma cin.ignore(caratteri da svuotare, terminatore di stringa)
serve per svuotare il buffer da elementi presenti (esempio se acquisisci da tastiera in un vettore da 50 caratteri e l'utente ne scrive 60 gli ultimi 10 rimarranno del buffer sporcandolo

un cin.ignore messo prima del getline permette di risolvere il problema

pixie
08-02-2010, 11:04
grazie mille dell'aiuto :)