28/09/09 5:07
theprogrammer
Perche' il tasto invio fornito con il cin, viene inserito nel buffer ma non utilizzato.
Viene quindi utilizzato subito dopo dalla prima getchar prima che tu te ne accorga.
aaa
29/09/09 12:10
HeDo
Postato originariamente da theprogrammer:
Postato originariamente da HeDo:
per attendere la pressione di un tasto dell'utente usa system("PAUSE"
Ovviamente non con Linux ...
per ovviare al problema dei cin consecutivi devi flushare il buffer come ha detto theprogrammer
Le getchar vanno benissimo con diversi S.O.
La flush dello stdin non è standard ...
eh lo so, ma non ha specificato la piattaforma
cmq esisteva una vecchia funzione del C, che se non mi sbaglio non è nemmeno standard, ma "di solito" tutti i compilatori la forniscono, e si chiama kbhit() . La si usa in questo modo:
while(!kbhit());
ma ci sono diverse controindicazioni.
Per quanto riguarda il problema del flush dell'stdin, la funzione fflush è standard:
fflush(stdin);
Ultima modifica effettuata da HeDo 29/09/09 12:10
aaa