bonjour
ma question est simple : comment utiliser la fonction getch() sous linux ?
merci
Version imprimable
bonjour
ma question est simple : comment utiliser la fonction getch() sous linux ?
merci
bonjour,
Une petite recherche sur le forum vous aurez fait gagner du temps puisqu'un post portant le même titre à déjà était posté : getch() sous linux.Citation:
Envoyé par bobo21
Donc getch existe sous Linux dans la bibliothèque ncurses mais si vous pouvez éviter de l'utiliser c'est une bonne chose puisque cette fonction n'est pas standard, à remplacer par fgets si possible : Saisie de données par un opérateur (stdin)
merci pour votre réponse
En fait je cherche une fonction qui permet d'entrer un caractère sans avoir à valider (c'est pour un menu).
J'en profite pour demander si vous connaissez une fonction de saisie d'un caractère (avec validation) mais qui ne permette pas de saisir plus d'un caractère. J'ai essayé getchar et scanf("%c") mais si j'entre 2 caractères il les traite les 2.
Rien de standard (curses, ncurses, termios...)Citation:
Envoyé par bobo21
On t'a passé des liens. Tu les as lu ? On dirait pas...Citation:
J'en profite pour demander si vous connaissez une fonction de saisie d'un caractère (avec validation) mais qui ne permette pas de saisir plus d'un caractère. J'ai essayé getchar et scanf("%c") mais si j'entre 2 caractères il les traite les 2.
j'ai essayé les gets, scanf, getchar, fgets... mais si j'entre par exemple 11 dans un getchar ça fait comme si j'entrais 2 fois 1
Et se n'est pas ce que tu as fait :koi:Citation:
Envoyé par bobo21
Prouve le !Citation:
Envoyé par bobo21
Pourquoi ? Dans l'article,Citation:
Envoyé par bobo21
http://emmanuel-delahaye.developpez....tes.htm#saisie
il est indiqué que ces fonctions ne sont pas adaptées. Si tu ne comprends pas ce qui est écrit, pose des questions.
Il est aussi indiqué:
Quels sont les mots que tu ne comprends pas ?Citation:
fgets()
Cette fonction est parfaitement adaptée à la saisie d'une ligne, (même de 1 caractère). Son usage est recommandé.
En fait je voulais un scanf qui ne permette pas de saisir 2 variables en 1 fois et qui ne bug pas.
J'ai essayé toutes les fonctions du lien et aucun ne convenait.
au cas ou quelqu'un chercherait j'ai trouvé une fonction :
http://cboard.cprogramming.com/archi...p/t-27714.html
Code:
1
2
3
4
5
6
7
8
9
10
11
12 int mygetch( ) { struct termios oldt, newt; int ch; tcgetattr( STDIN_FILENO, &oldt ); newt = oldt; newt.c_lflag &= ~( ICANON | ECHO ); tcsetattr( STDIN_FILENO, TCSANOW, &newt ); ch = getchar(); tcsetattr( STDIN_FILENO, TCSANOW, &oldt ); return ch; }
Ben oui, termios : déjà cité dans http://www.developpez.net/forums/vie...383364#2383364Citation:
Envoyé par bobo21