bonjour
ma question est simple : comment utiliser la fonction getch() sous linux ?
merci
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.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...)Envoyé par bobo21
On t'a passé des liens. Tu les as lu ? On dirait pas...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.
Pas de Wi-Fi à la maison : CPL
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 faitEnvoyé par bobo21
Prouve le !Envoyé par bobo21
Pas de Wi-Fi à la maison : CPL
Pourquoi ? Dans l'article,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 ?fgets()
Cette fonction est parfaitement adaptée à la saisie d'une ligne, (même de 1 caractère). Son usage est recommandé.
Pas de Wi-Fi à la maison : CPL
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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#2383364Envoyé par bobo21
Pas de Wi-Fi à la maison : CPL
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager