000
02.09.2015, 15:24 Uhr
~TheBrownShape
Gast
|
Hallo,
ich programmiere schon seit einiger Zeit mit C++ und bin mir natürlich über std::cout und std::cin im Klaren. Nun verbrachte ich die letzten Projekte mit grafischer Programmierung (mit SFML), schreibe nun allerdings an einem TeamSpeak 3 Bot, wo ich Hilfe beim Umgang mit der Konsole benötige. Wie gesagt, ich habe lange nicht mehr mit ihr gearbeitet und habe folgendes Problem:
Der Bot läuft die ganze Zeit über eine while()-Schleife und einer sehr sehr geringen Frequenz von 1-20 Ticks/Sekunde, das heißt der Schleifeninhalt wird 1-10 mal pro Sekunde ausgeführt. Ich möchte allerdings in der Konsole zeitgleich Befehle geben und anderes. Also brauche ich eine Funktion, mit der es möglich ist, zu testen, ob ENTER gedrückt wurde und was davor eingegeben wurde. Denn std::cin kann ich nicht verwenden, da dies auf eine Eingabe wartet und das Programm blockieren würde, auch wenn ich z.B. garnichts eingeben möchte. Der Zeitpunkt der Eingabe der Befehle ist immer unterschiedlich, der Bot / die Schleife soll aber die ganze Zeit durchlaufen. Es wäre außerdem gut, wenn ich dafür nicht mehrere Threads nutzen müsste, denn damit habe ich keine Erfahrung und der Bot muss auf jeden Fall stabil laufen.
Mit freundlichen Grüßen TheBrownShape |