Cin.get doesn't work

di il
3 risposte

Cin.get doesn't work

I don't understand because in this code the function 'cin.get(c)' doesn't ask any input, like if this command was ignored.
If I delete 'cin >> number' instruction cin.get asks to type character! Why?!
Where is problem?



#include <iostrem>
using namespace std;

int main()
{
int number;
char c;

cout << "type number";
cin >> number;
cout << "type character";
cin.get(c);
}

3 Risposte

  • Re: Cin.get doesn't work

    Perché un post in inglese in un forum italiano?

    In ogni caso, il tasto invio del precedente cin va a finire in c.

    Devi pulire il buffer eliminando questo carattere

    Utilizza una

    cin.ignore();

    prima dell'input del carattere.

    P.S. Ovviamante questo

    #include <iostrem>

    è sbagliato e deve essere

    #include <iostream>
  • Re: Cin.get doesn't work

    oregon ha scritto:


    Perché un post in inglese in un forum italiano?.
    oops mi sono distratto! Scusate
    In ogni caso, il tasto invio del precedente cin va a finire in c.
    Come mai l'invio va a finire in 'c', non viene gestito dalla precedente funzione 'cin >> number' ed eliminato dal buffer?
    #include <iostrem>
    è sbagliato
    benedetto correttore automatico! Pardon.
  • Re: Cin.get doesn't work

    No, la prima cin estrae quello che serve dal buffer (il dato) mentre il \n rimane nel buffer e viene estratto dalla prossima get
Devi accedere o registrarti per scrivere nel forum
3 risposte