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


Log in to reply