capunk
Messages postés4Date d'inscriptionsamedi 6 décembre 2003StatutMembreDernière intervention 8 décembre 2003
-
8 déc. 2003 à 13:44
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
8 déc. 2003 à 20:46
J'ai posé une question un peu plus loin "comment gérer un sleep et une saisie en meme temps". on m'a dit d'utiliser kbhit() de la la librairie conio qui renvoie 1 quand une touche du clavier est pressée . Seulement conio.h n'est pas fourni avec le compilateur c++ de base fournit avec linux!! Or mon projet est a faire sous linux!!
Ma question : "y'a t'il un équivalent de kbhit() dans une des libraires fournies avec linux (mandrake9.1) ?"
Merci d'avance pour vos nombreuses (... j'espères!) réponses !! ;)
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 8 déc. 2003 à 20:46
tu peu le faire avec un select
#include <sys/time.h>
#include <sys/types.h>
#include <sys/select.h>
...
fd_set fd;
FD_ZERO(&fd);
FD_SET(0,&fd); // ajout de l'entrée standard
// dans l'ensemble de descripteurs
struct timeval t={2,0}; // timeout de 2 sec
select(20,&fd,NULL,NULL,&t);
en gros le select est interrompu si une touche est appuyé ou au bout de 2 sec, pour savoir si il a ete interropue a cause de l'appuye sur une touche, tu fait:
if(ISSET(0,&fd)) // une touche a ete apuye