Data2006 Geschrieben 12. Oktober 2022 Geschrieben 12. Oktober 2022 Hallo zusammen, ich habe dieses Programm probiert. Klappt leider nicht: #include <iostream> #define LINKS 75 #define RECHTS 77 #define HOCH 72 #define RUNTER 80 int main() { char steuerung; std::cout << "Geben Sie Cursor links, rechts, oben oder unten ein: "; std::cin >> steuerung; std::cout << "Die Steuerung war: " << steuerung << std::endl; return 0; } Wenn ich z. B.Cursor links drücke, erhalte ich ^[[D und nach drücken der Entertaste erhalte ich eine leere Ausgabe für steuerung. LG Heiko
0 blaargh Geschrieben 13. Oktober 2022 Geschrieben 13. Oktober 2022 Das Abfragen von keystrokes ist OS spezifisch, die C++ standard library hat aber keine OS spezifisichen Implementationen, vor allem nicht für den input stream. Du benötigst als eine plattformabhängige library um die arrow keys zu catchen. Für Linux ist das simpelste wohl der conio header, ncurses wäre eine fully-fledged library für alles was mit (physical) user input zu tun hat. Keine Ahnung was es für Windows gibt
0 charmanta Geschrieben 13. Oktober 2022 Geschrieben 13. Oktober 2022 wie ich schon mal ( Forensitte: eine Frage, ein Thread ! ) schrieb ist @blaarghIdee völlig korrekt. Du arbeitest mit ncurses und die basiert auf der termcap bzw terminfo Definition logischer! Tasten LMGIFY: https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/keys.html
0 Data2006 Geschrieben 13. Oktober 2022 Autor Geschrieben 13. Oktober 2022 Moin. Danke für die Antworten. Das Ganze ist mir noch zu kompliziert. Ich lerne C++ erst wieder neu. Aber davon abgesehen, ich habe doch wie gewünscht eine eigene Frage gestellt. Und das war nur eine Frage. LG Heiko
Frage
Data2006
Hallo zusammen,
ich habe dieses Programm probiert. Klappt leider nicht:
#include <iostream>
#define LINKS 75
#define RECHTS 77
#define HOCH 72
#define RUNTER 80
int main()
{
char steuerung;
std::cout << "Geben Sie Cursor links, rechts, oben oder unten ein: ";
std::cin >> steuerung;
std::cout << "Die Steuerung war: " << steuerung << std::endl;
return 0;
}
Wenn ich z. B.Cursor links drücke, erhalte ich ^[[D
und nach drücken der Entertaste erhalte ich eine leere Ausgabe für steuerung.
LG Heiko
3 Antworten auf diese Frage
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden