Tastaturabfrage



  • Hallo habe ein ein Problem. Ich will eine Schleife Programmieren dessen ablauf sehr lange und sehr oft ist. Jetzt möchte ich einen Befehl schreiben wo ich mittels Eingabe der Tastatur (also z.B die Taste "s") diese Schleife unterbrechen kann und aus ihr springe. Gibt es dazu irgendeine Möglichkeit? mit "scanf" und "getchar" geht das nicht weil er da auf eine Eingabe fragt und nicht in der Schleife normal weitergeht.

    kann mir da bitte einer schnell weiterhelfen??
    Großen Dank im Vorraus

    mfg
    Peter



  • Das geht nicht mit ANSI-C. Aber viele Compiler liefern passende Funktionen in den Bibliotheken mit (getch(), kbhit()).



  • mh ok, kann man aber vielleicht den Buffer für die Tatstatur abfragen oder so? da muß es doch was geben oder auch wenn nicht standardmässig von Ansi C was gibt Gruß
    Peter



  • warum greifst du nicht madys vorschlag auf??

    für alle compiler, außer cygwin oder unter linux, gibt es in der conio zumindest diese beiden befehle getch und kbhit

    für die linux welt musst du entsprechendes suchen...

    #include <stdio.h>
    #include <conio.h>
    
    int main(){
    
        while (!kbhit()){
            printf("testausgabe solange die schleife schleift\n");      
        }
        printf("%c", getch()); //auffangen des zeichens, wenn benötigt
    
        getche(); //nur, damit konsole aufbleibt
    }
    


  • ok werde mich damit zufrieden geben müssen. 🙂

    Großen Dank an euch.
    gruß
    Peter


Anmelden zum Antworten