Thread alarm Funktion für Eingabe (4 answers)
Opened by mordur at 2007-08-14 11:43

murphy
 2007-08-14 12:59
#98115 #98115
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
In diesem Falle wäre es doch ganz einfach, vor dem Lesen der Eingabe einen select-Systemaufruf auf die Standardeingabe auszuführen. Läuft bei diesem Aufruf der eingestellte Timeout ab, so hat der Benutzer wohl nichts eingegeben, meldet der Aufruf bereitstehende Eingabedaten, so führt man einfach read aus, was dann solange zu lesen versucht, bis eine komplette Zeile eingeben wurde.

edit: Allerdings habe ich das gerade ausprobiert, und es scheint nicht wirklich wie gewünscht zu funktionieren: Selbst wenn man STDIN auf non-blocking schaltet und mit sysread liest, wartet select mit der Meldung, dass etwas zum Lesen von STDIN vorhanden ist, bis eine komplette Zeile eingegeben wurde. Wahrscheinlich muss man dann doch dem Terminal noch das zeilenweise Puffern abgewöhnen.
When C++ is your hammer, every problem looks like your thumb.

View full thread alarm Funktion für Eingabe