esiste una funzione in C che permette di svuotare il buffer della tastiera ?
/* Domanda banale -> sempre meglio chiedere per ottimizzare al meglio */
esiste una funzione in C che permette di svuotare il buffer della tastiera ?
/* Domanda banale -> sempre meglio chiedere per ottimizzare al meglio */
Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore
fflush(stdin)
fflush pulisce il buffer dato come parametro. in questo caso lo standard input stdin.
ciao.
La funzione fflush è fatta per operare su stream di output, non di input.Originariamente inviato da mostec
fflush(stdin)
fflush pulisce il buffer dato come parametro. in questo caso lo standard input stdin.
Il comportamento di fflush con stream di input non è definito/prestabilito. Una implementazione della fflush potrebbe anche sbattersene degli stream di input e non fare nulla.
Su Windows, ad esempio con VC++, provate:
Durante quei 5 secondi di attesa, premete tutti i tasti che volete. La fflush dopo NON pulisce il buffer e la scanf successiva riceve tutti i tasti premuti.codice:#include <windows.h> #include <stdio.h> int main (void) { char s[80]; Sleep (5000); /* attesa */ fflush (stdin); scanf ("%s", s); printf ("[%s]\n", s); return 0; }
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
io l'ho sempre usato per svuotare il buffer di input!! :master:
cosa consigli quindi per fare questo?
Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore
So che è una discussione vecchissima del 2007, e ma mi servirebbe una mano per quanto riguarda questo stesso problema. in pratica io ho, esattamente come l'esempiodi andbin e, dopo di esso, in'istruzione di input. utilizzando il fflush(stdin) non mi pulisce lo stream di input. ho visionato il link postato da andbin stesso, ma non ci ho capito nulla e non so come fare.
Grazie in anticipo
Potresti aprire un nuovo thread facendo la tua domanda con il tuo codice ?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Certamente, sarà un po' lunghetto però... XD