Bei ESC abbrechen



  • Hallo,

    ich möchte eine Konsolenanwendung schreiben, die bei drücken der ESC-Taste abgebrochen werden soll. Ich wollte eine while();-Schleife benutzen, die solange läuft bist der Benutzer die ESC-Taste nicht gedrückt hat.

    Wie mache ich das genau, ohne dass es allzu kompliziert ist? Also so dass man es leicht nachvollziehen kann, da ich noch ein //absoluter// Anfänger bin (einige wenige Grundlagen sind vorhanden).

    Vielen Dank,

    f. G.



  • Also wenn du das ganze Programm abbrechen willst, dann drück einfach Strg-C. Das funktioniert auf den meisten Konsolen (Windows und Unices auf jeden Fall schonmal).



  • teste einfach mit kbhit() ob eine taste gedrückt wurde und dann mit getch() welche taste es war (weiß jetzt nicht den tastencode für escape).

    do
    {
        // programm
        char pressedkey = 0;
        if (kbhit())
        {
            if (getch() == codefürsondertasten) // escape ist eine sondertaste und sondertasten liefern 2 werte
                pressedkey = getch(); // ersten wert auf sondertaste testen
        }                             // um mit dem 2ten die taste herrauszubekommen
    while (pressedkey != escapecode);
    


  • #include <stdio.h>
    
    #define ESC 27
    
    int main()
    {
    	while(1)
    	{
    		printf("Zum Abbrechen ESC druecken!\n");
    		if ( kbhit() )
    		{
    			if( getch() == ESC )
    			{
    				puts("BYE !");
    				return 0;
    			}
    		}   
    	}
    	return 0;
    }
    

Anmelden zum Antworten