Attente de pression d'une touche + savoir quelle touche à été pressée - C - Programmation
Marsh Posté le 23-12-2005 à 13:31:50
Rien de portable, sous Windows tu dois avoir un kbhit() qui traine je crois.
Marsh Posté le 23-12-2005 à 13:34:01
ben, getch te permet de savoir quelle est la touche qui a été pressée
kbhit te sera utile si tu as des traitements à faire en attendant que l'utilisateur presse la touche, mais ca n'a pas l'air d'être le cas, au vu de ce que tu décris
Marsh Posté le 23-12-2005 à 14:00:12
Oui, getch doit te tirer d'affaire. Regarde l'exemple dans la msdn.
Marsh Posté le 23-12-2005 à 14:31:53
Oui mais getch() n'attend pas seleument qu'une seule touche soit pressée, il faut également valider par entre la saisie et ce n'est vraiment pas ce qu'il me faut....
J'ais jetté un oeil sur l'exemple de la msdn, ce qu'ils donnent permet de faire du traitement jusqu'à ce qu'une touche soit pressée mais ne résoud pas mon problème ou alors j'ai pas bien fait attention.
Marsh Posté le 23-12-2005 à 14:37:03
dwogsi a écrit : Oui mais getch() n'attend pas seleument qu'une seule touche soit pressée, il faut également valider par entre la saisie et ce n'est vraiment pas ce qu'il me faut.... |
Faux ... relis la doc
Marsh Posté le 23-12-2005 à 14:59:54
dwogsi a écrit : Bon j'ai vu des choses pour rendre gecth() non bloquant avec ncurses.h et nodelay() mais rien d'autre..... |
fais un exemple applicatif minimal et reviens nous dire ce qui ne va pas avec getch ... parce que si ca ne colle pas à ce que tu cherches, c'est que ta requête était erronnée ...
Marsh Posté le 23-12-2005 à 15:05:47
donc, le problème n'est pas qu'il faut appuyer sur la touche entrée, CQFD ...
retour à la case départ : sous windows, tu as la fonction kbhit qui fait ce que tu souhaites
Marsh Posté le 23-12-2005 à 15:12:37
theshockwave a écrit : donc, le problème n'est pas qu'il faut appuyer sur la touche entrée, CQFD ... |
Peut être me suis-mal exprimé oui...
Concernant kbhit très bien ca renvoit 0 si pas de touhe pressée et 1 si touche pressée avec un while c'est ok pour attendre qu'une touche soit pressée, mais comment savoir laquelle a été pressée?
Marsh Posté le 23-12-2005 à 15:15:12
Citation : _kbhit |
on ne sera pas toujours là pour te lire la doc, hein ...
Marsh Posté le 23-12-2005 à 13:12:59
Bonjour tout le monde!
Bon alors sans plus attendre voici ma situation et ensuite mon problème : Je n'en suis pas à mes premiers pas en C/C++, en revanche j'en suis à mes premiers pas concernant l'interaction entre le programme et l'utilisateur.
Mon problème : Bon ce qu'est mon programme n'a pas d'intérêt pour la résolution du problème en question donc passons les lignes de codes. Ce que je cherche à faire, c'est mettre le programme en attente jusqu'à la pression d'une touche!
Attendez la suite avant de me frapper svp!
getch() ou getchar() me direz vous? Et bien non ce n'est pas ce que je cherche.... En fait je souhaiterais que l'utilisateur presse une (seule et unique) touche (n'importe laquelle et pas seuleument entrée) et qu'ensuite l'exécution du programme reprenne. Mais en plus de ça, je voudrais pouvoir connaitre quelle est la touche qui a été pressée.
Voilà!
Il s'agit d'un programme en mode console sur windows.
En vous remerciant par avance et vous priant de ne pas me frapper trop fort si mon topic est mal venu.
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/