004
24.06.2003, 16:17 Uhr
virtual
Sexiest Bit alive (Operator)
|
Möglicherweise ist es da besser stdin auf nonblocking IO zu stellen:
C++: |
#include <stdio.h> #include <unistd.h> #include <fcntl.h>
int main() { char c = 0; int counter = 0;
/* Wir setzen stdin auf non blocking IO */ fcntl(fileno(stdin), F_SETFL, O_NONBLOCK);
do { printf("%d\n", ++counter); sleep(1); } while (1!=fread(&c, 1, 1, stdin) && 'q'!=c && 'Q'!=c); }
|
Allerdings bleibt hier das Problem, daß der Terminaldriver erst in stdin was rein tut, wenn Du Return drückst. Das kannst Du nur umgehen, indem du die Terminalsettings veränderst, da hilft Dir kein Select. Da müsstest du mal nach tcsetattr und tcgetattr schauen. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |