Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Come svuotare cin?
Forum - C/C++ - Come svuotare cin?

Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 10:45
Venerdì, 19/03/2010
Salve a tutti.
Dato il seguente codice

Codice sorgente - presumibilmente Plain Text

  1. while(TRUE) {
  2. cout << "\tDigita comando\n\t\t";
  3.                 cin.getline(buffer, 3, '\n');
  4.                 cin.clear();
  5. }



Io ottengo questo risultato visivo


    Digita comando
        prova
    Digita comando
            Digita comando
            Digita comando
        provaaaa
    Digita comando
            Digita comando
            Digita comando
            Digita comando
        provaaaaa
    Digita comando
            Digita comando
            Digita comando
            Digita comando
            Digita comando



Invece io vorrei ottenere il seguente risultato


        Digita comando
        prova
    Digita comando
        provaaaa
    Digita comando
        provaaaaa
    Digita comando



Qualcuno riesce a capire dove è il problema

PM Quote
Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 11:17
Venerdì, 19/03/2010
Ok, risolto, se qualcuno si trovasse di fronte allo stesso problema questo è il codice


Codice sorgente - presumibilmente Plain Text

  1. while(TRUE) {
  2.                 cout << "\tDigita comando\n\t\t";
  3.                 cin.getline(buffer, BUFFER_LENGTH-1, '\n');
  4.                 cin.clear();
  5.                 cin.sync();
  6. }


PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 12:56
Venerdì, 19/03/2010

questa soluzione è molto utile, credo tutti si siano imbattuti in questo problema :)

PM Quote