Konsolenprogramm aufhalten - die ganze Wahrheit?
-
Funktionstasten u.a. liefern leider zwei Zeichen an die StdIn....
die "richtige" Varinate wäre:
while (kbhit()) getch(); if (!getch()) getch();
Aber jetzt hab ich mich wahrscheinlich zu "noch blöder als Info-Lehrer" gestempelt :schäm:
btw. kbhit + getch() sind schon platform-spezifisch, aber ich bins halt so gewohnt
-
peterchen schrieb:
Aber jetzt hab ich mich wahrscheinlich zu "noch blöder als Info-Lehrer" gestempelt :schäm:
btw. kbhit + getch() sind schon platform-spezifisch, aber ich bins halt so gewohnt
nö du hast dich disqualifiziert weil hier ist ein STANDARD C++ forum und die conio.h ist nicht im Standard enthalten ! .. kommt erschwerend hinzu ..
-
gut dann wenigstens (if !cin.get()) cin.get();
wer sagt denn daß ich conio brauche - extern "C" kbhit() tut' auch...
-
peterchen schrieb:
gut dann wenigstens (if !cin.get()) cin.get();
wer sagt denn daß ich conio brauche - extern "C" kbhit() tut' auch...nunja ..
kbhit ist nicht wirklich os unabhängig
und conio ist nicht ide unabhängig ..red dich nicht raus die einzige antwort ist cin.get() ...
-
Frage, welche der Methoden die jetzt alle ganannt werden ist der "beste" Ersatz für kbhit()???
Code-Hacker
-
Es wurde kein Ersatz für kbhit genannt. Es gibt im Standard auch keine Funktion, die kbhit ersetzen könnte. Wenn du kbhit brauchst, musst du kbhit verwenden, oder eine andere äquivalente plattformspezifische Funktion.
-
Axso. Ich dachte mit eine der ganannten Funktionen könnte man prüfen ob eine Taste gedrückt wurde oder nicht, sprich das man eine Schleife so lange laufen lässt bis eine Taste gedrückt wurde.
Code-Hacker
-
Und es ist wahr, die Prozessorleistung wird bei while(...) wirklich auf 100% gereizt.
MfG MAV
-
Also wenn nicht ausgelesen werden soll, welche Taste gedrückt wurde ginge auch
system("Pause");
wenn es sich um ein Konsolen- oder DOS-Programm handelt.
-
Dago schrieb:
Also wenn nicht ausgelesen werden soll, welche Taste gedrückt wurde ginge auch
system("Pause");
wenn es sich um ein Konsolen- oder DOS-Programm handelt.
Du hast eben deine Todesurkunde unterschrieben *fizz*
Warum sieht eigentlich niemand in der Konsolen-FAQ nach wenn es sich um ein Konsolenproblem handelt?
Sehr enttäuscht von den Forenusern...
MfG SideWinder