Salut tout le monde![]()
Qu'elle est l'équivalent de readkey (de Pascal) en C ?
C'est à dire la fonction qui lit un et un seul caractère (sans avoir besoin de cliquer sur retour chariot)
Merci![]()
Salut tout le monde![]()
Qu'elle est l'équivalent de readkey (de Pascal) en C ?
C'est à dire la fonction qui lit un et un seul caractère (sans avoir besoin de cliquer sur retour chariot)
Merci![]()
Il n'y en a pas de standard je crois.
Si t'es sous Windows, regarde dans <conio> la fonction getch().
La réponse se trouve dans la FAQ je pense.
Nas'
Désolé, j'ai déjà essayé getch(), getchar() et ca ne marche pas;
ca nécéssite un retour chariot pour valider la lecture.
Sachant que j'utilise Bloodshed Dev-C++ version 4
Pour getchar(), c'est normal, elle est bufferisée donc tu dois utiliser le retour pour valider.
Mais pour getch(), ce n'est pas normal. Elle envoie directement le caractère.
Je pense que le problème vient de la version de <conio.c> livrée avec DevC++. Ce n'est pas la "bonne" car j'avais aussi ce problème.
Essaye avec ce Devpack de mettre cette version :
http://www.ece.fr:8000/%7Elavoillo/c/Conio/Conio.DevPak
Nas'
Merci Nasky
vous aviez raison pour le getch, j'ai compilé le programme ds Turbo C et elle a marché même si le lien que tu m'a donné ne marche pas.
Mais en ce qui concerne ce que tu m'a dit tout à l'heure concernant la comparaison du caractère avec '\n' sorry ca ne donne pas de résultat ni ds Dev C++ ni ds Turbo C
j'ai fais comme tu l'a dis :
et ca affiche 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 e=0; c=getch(); if (c =='\n') /* c etant declaré char */ { e=1; } printf("%d",e);
J'ignore si on reçoit le \n avec getch().
Ce qui est sûr par contre, c'est qu'on reçoit le \r.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Normal, tu es en mode 'raw' avec getch() Le caractère retourné est '\r' (PC/DOS/Windows) et non '\n'. Quand on s'écarte de la norme, il faut s'attendre à des surprises...Envoyé par elmessoussi
TOASTED!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int c; <...> if (c =='\r')
Partager