Heim >Backend-Entwicklung >C++ >Wie erkennt man das Drücken von Pfeiltasten in C-Konsolenanwendungen?

Wie erkennt man das Drücken von Pfeiltasten in C-Konsolenanwendungen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 10:06:02772Durchsuche

How to Detect Arrow Key Presses in C   Console Applications?

Pfeiltastendrücke in C erkennen

Viele Entwickler stehen vor Herausforderungen bei der Erkennung von Pfeiltastendrücken in ihren C-Konsolenanwendungen. Ziel dieses Artikels ist es, dieses Problem anzugehen, indem verschiedene Methoden untersucht und eine zuverlässige Lösung ermittelt werden.

Fehlerbehebung bei bestehenden Versuchen

Die beiden in der Frage beschriebenen Methoden nutzen beide den getch( )-Funktion zum Erfassen von Tastendrücken. Sie berücksichtigen jedoch nicht die Tatsache, dass Pfeiltasten normalerweise zwei aufeinanderfolgende Tastendrücke bewirken. Der erste Tastendruck stellt den Code für die „erweiterte Taste“ dar, gefolgt vom eigentlichen Pfeiltastencode.

Verbesserte Erkennungsmethode

Um Pfeiltastendrücke genau zu erkennen, ein überarbeiteter Ansatz wird unten vorgestellt:

#include <conio.h>
#include <iostream>
using namespace std;

#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77

int main() {
    int c = 0;
    while (1) {
        c = 0;

        switch ((c = getch())) {
        case KEY_UP:
            cout << "Up" << endl;
            break;
        case KEY_DOWN:
            cout << "Down" << endl;
            break;
        case KEY_LEFT:
            cout << "Left" << endl;
            break;
        case KEY_RIGHT:
            cout << "Right" << endl;
            break;
        default:
            cout << "null" << endl;
            break;
        }
    }
    return 0;
}

Diese Methode erfasst zunächst den Code der „erweiterten Taste“ und vergleicht ihn mit einer Liste bekannter Pfeiltastencodes. Wenn eine Übereinstimmung gefunden wird, wird die entsprechende Pfeiltastenrichtung auf der Konsole ausgegeben. Wenn der erfasste Code mit keinem Pfeiltastencode übereinstimmt, wird dies als „Null“-Tastendruck betrachtet.

Ausgabe und Schlussfolgerung

Bei der Ausführung erkennt das Programm erfolgreich und gibt die Richtung aus, die jeder gedrückten Pfeiltaste entspricht. Diese Lösung erfasst und interpretiert effektiv das Drücken von Pfeiltasten und ermöglicht es Entwicklern, interaktive Konsolenanwendungen zu erstellen, die angemessen auf Benutzereingaben reagieren.

Das obige ist der detaillierte Inhalt vonWie erkennt man das Drücken von Pfeiltasten in C-Konsolenanwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn