Schleife nur mit escape abrechen...
-
Ich habe eine Schleife,die durchlaufen wird,bis die Escape taste gedrückt wird.Alle anderen Tasten solten ignoriert werden.Doch wenn ich nun die f1 bzw anderen Funktionstasten drücke,bricht die Schleife auch ab.Wieso???...Hab für die Escape taste den Wert 27 genommen.Haben die anderen Funktionstasten etwa denselben Wert?
#include <stdio.h> #define ESC 27 int main(){ char taste[100]; do{ //programm schleife gets(taste); } while(taste[0]!=ESC); }
-
Ganz einfach: Weil Sondertasten wie die Funktionstasten über Escape-Sequenzen abgebildet werden.
Du musst halt prüfen, ob hinter dem Escape noch etwas kommt.Am besten geht das mit der libncurses (siehe auch hier
). Anderenfalls musst du mit select() prüfen, ob noch weitere Zeichen folgen.
Martin