Zeichen einlesen im Hintergrund?
-
Der Befehl cin.get(var) gibt zwar nur 1 zeichen zurück aber dauert trotzdem bis Return(enter) gedrückt wird.
1.Gibt es einen Befehl mit dem man das zuletzt oder nächste Zeichen aus cin gelesen werden kann ohne das das Programm angehalten wird und auf die eingabe wartet.Praktisch im Hintergrund?Natürlich soll auch keine Ausgabe auf dem Monitor erfolgen.
Schon mal Danke
Xalon
-
getch(); oder cin.get() -> inhalte in einer schleife an einen string o.ä. übergeben
-
Aber cin.get() wartet doch auf eine Eingabe und hält das Programm an und lässt es weiterlaufen wenn man Enter drückt,oder?
Danke schon mal,
Xalon
-
Kann mir keiner helfen?
Xalon
-
Mit Standard-C++ geht das IMO eher nicht.
Was willst Du überhaupt damit machen? Klingt stark nach einem Keylogger.
-
Hi, probier doch mal die Funktion kbhit(),(kein Standard C++)
--> Kannst du schön in Schleifen benutzen ohne das irgendwo was angehalten wird und so die die Tastatureingaben abfangen !!!
-
std::cin.rdbuf()->in_avail() sollte dir helfen.
-
thomas001 schrieb:
std::cin.rdbuf()->in_avail() sollte dir helfen.
1. es wäre die funktion sbumc oder snextc
2.auch dann werden ab und zu eingaben abgefragt(mit programmstop), die waren aber net erwünscht.
-
Man kann periodisch pruefen, ob im Eingabepuffer Daten stehen, und diese auslesen. Ansonsten muss man halt einen Thread starten.