trallallero
12-12-2007, 09:42
Per vari motivi non posso usare un getchar perchè non mi permette di intercettare un CTRL + C (aspetta l'invio) quindi pensavo di usare un poll che non ho mai usato.
Però succede che la prima volta aspetta all'infinito, ma se per caso premo invio non aspetta più e mi scrive "pressed a key!" a raffica ...
fprintf(stdout,"\nRunnning ... (press CTRL + C to quit )\n");
struct pollfd ufds = { STDIN_FILENO, 1, 1 };
while(!m_End)
{
poll( &ufds, 1 , -1 );
puts("pressed a key!");
}
dove sbaglio ? il marametro -1 sta per "aspetta all'infinito" da quello che ho capito
NB: Il membro m_End viene settato a true dalla funzione che intercetta il CTRL+C
Però succede che la prima volta aspetta all'infinito, ma se per caso premo invio non aspetta più e mi scrive "pressed a key!" a raffica ...
fprintf(stdout,"\nRunnning ... (press CTRL + C to quit )\n");
struct pollfd ufds = { STDIN_FILENO, 1, 1 };
while(!m_End)
{
poll( &ufds, 1 , -1 );
puts("pressed a key!");
}
dove sbaglio ? il marametro -1 sta per "aspetta all'infinito" da quello che ho capito
NB: Il membro m_End viene settato a true dalla funzione che intercetta il CTRL+C