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 Zitieren
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 Zitieren
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 Zitieren
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 Zitieren
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
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.