Wenn Eingabe in _getch() == ENTER, dann...
-
Hallo, ich weiß, scheiß Titel, aber ich wusste keinen besseren. Also erstmal der Code fürs Hauptmenü:
int MainMenu() { char input_key = 'a'; bool quest_start; bool quest_konto; while(1) { system("CLS"); CenterLine(1); CenterString("Start"); if(input_key == 'a') { std::cout << " <--"; quest_start = true; quest_konto = false; } std::cout << '\n' << '\n'; CenterString("Neues Konto"); if(input_key == 'b') { std::cout << " <--"; quest_start = false; quest_konto = true; } input_key = _getch(); if(input_key == '#' && quest_start == true) { return 1; break; } if(input_key == '#' && quest_konto == true) { return 0; break; } } }Und nun folgende Frage: Wenn ich "#"
if(input_key == ------>'#'<------- && quest_start == true) { return 1; break; }durch '\n' ersetz, dann passiert nichts. Jedoch bei dem "#" funktioniert es. Dann gibt die Funktion den Wert zurück. Bei einem Enter jedoch passiert nichts. Die Eingabe wird einfach ignoriert. Könnt ihr mir helfen, dass ich bei einem Enter-Druck das gleiche erzielen kann?

-
ja das geht aber der ascii code ist anders dafür. \n ist ein zeilenumbruch und keine entertaste
die entertaste ist die taste mit dem code 13 oder 27, bin mir nicht sicher. das jeweils andere war glaub ich escape
-
13. 27 ist Escape, ja.
-
Oh man, so einfach
danke. Da war jemand wohl BrainAFK
-
Das Thema gabs schon sehr oft, such das mal.
Eigentlich bin ich schon fast sicher, dass Enter 10 ist - das ist aber afaik OS Abhängig
-
Hacker schrieb:
Das Thema gabs schon sehr oft, such das mal.
Eigentlich bin ich schon fast sicher, dass Enter 10 ist - das ist aber afaik OS AbhängigCarriage Return ist normalerweise 13, Line Feed ist 10. Enter ist mal CRLF, mal CR...