par exemple pour faire le choix d'un numero dans un menu on doit saisir l'entier puis appuyer sur entré,il n'existe pas de fonction qui permetterai de le faire directe sans la touche entre??
Version imprimable
par exemple pour faire le choix d'un numero dans un menu on doit saisir l'entier puis appuyer sur entré,il n'existe pas de fonction qui permetterai de le faire directe sans la touche entre??
Pas en C standard, en tout cas.
En non-standard, il y a des trucs.
Bonjour,
les trucs en non standard pour la console sont :
Windows/Dos : conio
Linux : ncurses
multiplateforme ( entre guillemets ) pdcurses ( penchant windowsien de ncurses )
La fonction
attend l'appuis sur une touche (peut importe laquelle) sans attendre que l'utilisateur press "ENTER" apres avoir fait "1" par exemple.Code:/*charactère= */getchar();
Ensuite tu peut te créé un fonction personnelle, qui fonctionne avec getchar mais a laquel tu applique des filtres.
Ex, pour les chiffres seulement :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /* L'appel de ta fonction se fait comme ceci : touchepresse=attenteTouche("0123456789"); */ int attenteTouche(const char *charSet) { char touche[1]=""; do{ touche[0] =getchar(); }while(strchr(charSet, touche)==NULL); //on suppose ici que tu est en ASCII // au pire utilise la fonction atoi() //return atoi(touche[0]); return (touche[0] +0x30); }
j'ai peut être mélanger avec la fonction :
getch();
ou getc();
je ne souvient plus trop :s
(qui n'est que sous windows il me semble ???, mais je ne suis pas sûr :s ).