C ++ Erkennen, wenn der Benutzer die Pfeiltaste drückt
Ich habe ein Problem mit der Erkennung von Pfeiltasten in meiner C ++ - Konsolenanwendung. Ich habe alles ausprobiert, was ich gefunden habe, sowohl hier als auch auf anderen Lernseiten, aber alle geben mir das Gleiche, wenn ich auf den Pfeil drücke:
Process returned 0 <0x0> execution time : 2.249 s
Press any key to continue.
Hier finden Sie alle Methoden zum Erkennen des Tastendrucks, die ich ausprobiert habe und die alle auf dieselbe Weise ausgeführt werden. Dies sind die einzigen zwei in meinem Code, die anderen, die ich versucht habe, habe ich gelöscht, anstatt sie auszukommentieren.
Methode eins:
c1 = getch();
if(c1 == 0)
{
c2 = getch();
if(c2 == 72) {cout << endl << "Up Arrow" << endl;}
else if(c2 == 80) {cout << endl << "Down Arrow" << endl;}
else{cout << endl << "Incorrect Input" << endl;}
}
Methode zwei:
switch(getch()) {
case 65:
cout << endl << "Up" << endl;//key up
break;
case 66:
cout << endl << "Down" << endl; // key down
break;
case 67:
cout << endl << "Right" << endl; // key right
break;
case 68:
cout << endl << "Left" << endl; // key left
break;
}
Befindet sich ein Fehler in meinem Code, durch den ich zu meiner Hauptmethode zurückgekehrt bin, oder wurde ein Code übersprungen? Gibt es einen schnelleren Weg, dies zu tun? Ich bin mir fast zu 100% sicher, dass mein anderer Code nichts mit diesem Problem zu tun hat, da ich den Code von anderen Aspekten des Programms abhängig gemacht habe und weiterhin das gleiche Problem hatte.
Wieder habe ich jede Methode ausprobiert, um den gefundenen Pfeiltastendruck zu erhalten, und ich bekomme immer wieder das gleiche Problem. Wenn es darauf ankommt, bin ich auf einem Windows 8 Samsung ATIV Smart PC und benutze das Tastaturdock.
Vielen Dank im Voraus für jede Hilfe.