cin non bloquant - C++ - Programmation
Marsh Posté le 25-09-2010 à 08:37:09
Oui, il y a moyen de hacker qqch qui donne l'impression d'avoir ce que tu veux, mais je conseille putôt d'abandonner cette idée et d'attaquer directement les possibilités de l'OS, quitte à les encapsuler, plutôt que d'utiliser une interface qui n'a pas été conçue pour ça. Regarde curses et le chapitre adéquat chez Stevens ou http://www.gnu.org/s/libc/manual/h [...] -Interface si tu veux attaquer encore plus bas.
Marsh Posté le 25-09-2010 à 11:50:13
Dommage que ça n'existe pas c'était pour du bidouillage temporaire :-(
Merci pour ta réponse.
Marsh Posté le 25-09-2010 à 12:24:58
Citation : J'ai une boucle, et à l'intérieur de cette boucle un cin. Je voudrais que la boucle s’exécute |
Au sens de tant qu'aucune touche clavier n'a été tapée, ou bien au sens de tant que l'utilisateur n'a pas tapé une entrée de donnée terminée par un retour chariot?
Dans le premier cas, il y a pas vraiment de code plate-forme indépendant, il faut aller voir dans google avec "kbhit linux" et choisir parmi les diverses solutions proposées (il y a aussi ceci, http://www.vmunix.com/~gabor/unix.html qui est peut être un peu plus ancien, mais qui semble assez bien fait)
Dans le second cas, il doit y avoir une solution pure c++ basée sur la valeur de cin.tellg(), je pense.
A+,
Marsh Posté le 26-09-2010 à 00:25:16
Les deux cas me conviennent en fait, c'est de la grosse bidouille d'urgence.
Je regarde ce que tu m'as dit.
Merci bien.
Marsh Posté le 25-09-2010 à 05:33:50
Bonjour à tous,
j'aimerais savoir s'il existe un moyen de faire un cin non bloquant ?
J'ai une boucle, et à l'intérieur de cette boucle un cin. Je voudrais que la boucle s’exécute
tant que aucune information n'ai saisie au clavier.
J'ai essayé d'utiliser cin.gcount ou cin.oef mais sans succès.
Je suis sous unix. Quelqu'un connait il un moyen ?
Merci.