Tastaturabfrage wie kbhit
-
Hallo,
da ich ein plattformunabhängiges Programm schreibe, suche ich nach einer Funktion, wie dem kbhit(), denn es soll eine Überprüfung auf einem Tastendruck stattfinden, damit die jeweilige Funktion beendet wird, jedoch soll nicht auf einen Tastendruck gewartet werden, was ja z.b. bei getc(stdin) oder getchar ja der Fall ist.
Hat wer vielleicht eine Lösung parat?
-
Standard-C sieht keine Möglichkeit einer solchen Nutzerinteraktion vor, also muß auf Zusatzfunktionen des Systems zurückgegriffen, oder auf die Funktionalität verzichtet werden.
-
Da wirst du keine plattformunabhängige Lösung finden... kbhit() (aus conio.h, wenn ich nicht mich nicht teusche, Borland erfindung) wartet zB. auf eine Änderung des Tastaturpuffers (DOS int 21h...) also, viel glück
greetz : neox86
-
Hm, sowas dachte ich mir irgendwie schon
Oder kann man z.B. der getchar-Funktion irgendwie einen Timeout verpassen oder irgendeine Abbruchbedingung in einer Schleife, auf die ich als Nutzer einfluss haben KANN? Also das nichtmehr gewartet wird, sondern "weitergearbeitet" wird, wenn keine Interaktion stattfand?
-
Nimm Threads.
-
Seit wann hat C Threads?
-
Natürlich gibt es platformunabhängige Threading Librarys, nur eben nichts im Standard...
-
C hat keine Threads.
-
Hab grad mal das hier http://www.c-plusplus.net/forum/viewtopic-var-t-is-39509.html gefunden, jedoch fehlt mir die dort o.g. Headerdatei
Und....so wie es da steht, wird es bei mir Windows UND Linux wohl nicht laufen oder?
-
Dann brauchst du halt das notwendige Paket deiner Distribution. In Debian ist das z.B. das Paket libc6-dev.