Lecture au clavier non bloquante Language C

cs_RoZyk Messages postés 17 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 décembre 2009 - 19 nov. 2009 à 12:06
cs_gaet31 Messages postés 1 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 10 mai 2012 - 10 mai 2012 à 19:32
Quelqu'un pourrait il m'indiquer une fonction de lecture au clavier non bloquante?

Dans mon projet Tron: Je veux maintenir la direction de ma moto tant que l'utilisateur ne donne pas de nouvelle direction à l'aide du clavier. La fonction getchar est bloquante, ce que je ne veux pas. Je recherche une fonction de même type mais non-bloquante.

Merci pour vos futurs réponses...

4 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
19 nov. 2009 à 15:35
salut,

Je dirais que tu peux créer un thread pour y mettre ta fonction bloquante ce qui permet au reste du programme de tourner.
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
21 nov. 2009 à 13:06
Salut,

Pour du Windows, jette un oeil sur ce code.
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
22 nov. 2009 à 12:50
Salut,

"La fonction getchar est bloquante"
Pas en elle même non. Ici ce qui détermine si l'action est bloquante ou non, comme toute lecteur ou écriture dans un fichier, est la "configuration" du descripteur de fichier. Afin de modifier ceci et donc forcer un fd a être bloquant ou non bloquant tu peux te reporter à l'appel système fcntl (man 2 fcntl).

Après dans ton cas il est bien plus propre de faire comme t'as dit fregolo52, en effet rendre la lecture sur STDIN_FILENO non bloquante a le gros désavantage de manger énormément de ressources vu que tu doit faire de très nombreuses lectures. Il doit également être possible de se débrouiller avec poll ou select mais pour ma part je connais mal ce sujet.
0
cs_gaet31 Messages postés 1 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 10 mai 2012
10 mai 2012 à 19:32
cherche vers kbhit() ;)
0
Rejoignez-nous