abbruch einer schleife über tastatur
-
HALL0.
ich wollte eine schleife schreiben, die beendet wird, wenn man irgendeine taste auf der tastatur drückt. meine ersten ansätze waren so:
char EIN; EIN = '0'; //a.) while ('0' == EIN) { //...Programmcode... cin >> EIN; } //b.) for (NUM=0;;NUM++) { //...Programmcode... cin >> EIN; if (EIN != '0') break; }erstens funktioniert das nicht und zweitens geht das ja auch nur, wenn keine 0 gedrückt wurde. wie könnte man das verbessern?
DANKE.
STICK.
-
bool quit = false; char eingabe; while(!quit) { eingabe = getInput (); // getInput ist dann deine Eingabefunktion... if (eingabe == 'q' || eingabe == 'Q') { quit = true; } ... }
-
DANKE DocJunioR,
ich glaube, du hast mich etwas falsch verstanden. ich will ja gar nichts über die tastatur EINGEBEN, sondern nur überprüfen, ob eine taste gedrückt wurde.
in dem abschnitt "//...Programmcode..." habe ich einen code geschrieben, der permanent bilder aus meiner kamera ausliest und ich will dies abbrechen, sobald irgendeine taste gedrückt wurde. so wie ich das sehe, ist das nicht das gleiche, was du geschrieben hast, bei dir muss ich nach jedem schleifendurchlauf, also in meinem fall nach jedem aufgenommenen bild, eine taste drücke, oder täusche ich mich da?
DANKE.
STICK.
-
nicht mehr standard, für linux entsprechendes finden...
#include <conio.h> while (!(kbhit())){ //do }
-
cin.get() oder cin.peek() könnten vielleicht weiterhelfen..
-
"kbhit()" hat funktioniert.
DANKE!