Salve a tutti, innanzitutto complimenti per la qualità del forum, davvero impressionante![]()
volevo porvi subito un quesito, mi serviva una funzione per svuotare lo stdin (sto scrivendo in ambiente UNIX, quindi ho deciso di non usare fflush() ), ed ho trovato questa:
int caratteri_stdin(){
fd_set rds;
struct timeval tv;
FD_ZERO(&rds);
FD_SET(fileno(stdin), &rds);
tv.tv_sec = 1; /* timeout di 1 secondo */
tv.tv_usec = 0;
return (select(fileno(stdin)+1, &rds, NULL, NULL, &tv) > 0);
}
void svuota_stdin(){ /* la funzione che svuota lo stdin */
while(caratteri_stdin())
getchar();
}
qualcuno potrebbe spiegarmi, per favore, in cosa consiste esattamente questa funzione e per caso conoscete qualche metodo diverso per fare la stessa cosa?
Grazie mille in anticipo, e scusate se non mi sono nemmeno presentato, ma sto in crisi piena ahahah![]()