Fonction lire caractere sans taper entré

cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 25 juil. 2004 à 00:06
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007 - 25 juil. 2004 à 21:11
salut a ts ,

voila je cherche une fonction qui permetrais de lire 1 seul caractere et qui n'aurai pas besoin que l'utilisateur valide en tapant entré .

je pensai que j'arriverai a ce resultat avec ReadConsole (console,&nb,1,&i,NULL); mais je n'arrive a rien avec cette fonction , pourtant je met tt les param que demande msdn ms qd j'execute le prog il ne me demande pas de carac il se fini tt de suite .

si qq1 pouvait m'expliquer les param a founir a cette fonction pr quel fasse ce que je veux ou alors une autre fonction .

merci d'avance
@+

17 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 juil. 2004 à 00:22
getch() ou getche(), dans conio.h

char c;
printf("Entrez un caractere : ");
c = getche();
...

Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
25 juil. 2004 à 00:43
merci

es-ce que c'est possible d'avoir l'implementation de conio.h ?
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 juil. 2004 à 01:41
comment ca l'implementation de conio.h ?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
25 juil. 2004 à 01:47
ben ds econio.h ia que les declaration des fonctions getch ... . ia po un moyen d'obtenir l'implementation de ces fonctions .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007
25 juil. 2004 à 10:15
Normalement au debut du projet tu tape #include <conio.h> et c'est tout ce qu'il y a faire.
Il me semble que le code est plutot comme ca;

char * lettre;
lettre = getch();

if (lettre == a)
{
option1();
};

++
Nepi

<Viva C++France>
0
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007
25 juil. 2004 à 10:17
j'ai fait une erreur;
ce n'est pas :

if(lettre == a)
mais
if(lettre == "a")

Voila
++
Nepi
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
25 juil. 2004 à 10:32
ou mieux : lettre=='a' vue que si mes souvenirs sont bon "a" est différent de 'a'. Dans le premier cas chaine une chaine de caractères terminée par NULL ('\0') et dans l'autre cas c'est le caractère a.

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
25 juil. 2004 à 10:33
je corrige mes fautes, moi y'en a bien parler la france :

ou mieux : lettre=='a' vue que si mes souvenirs sont bon "a" est différent de 'a'. Dans le premier cas c'est une chaine de caractères terminée par NULL ('\0') et dans l'autre cas c'est le caractère a.

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
25 juil. 2004 à 10:38
exact, et normalement if(lettre == "a") ne doit pas compiler, "a" c'est l'adresse d'une chaine litterale
0
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007
25 juil. 2004 à 10:43
Non.
Je ne suis pas d'accord ( mais je n'ai pas forcement raison ;) ).
Lorsque on met ' ' c pour faire une comparaison ASCII. Je m'explique : avec glut, la touche retournee est sous forme INT.
Si on a pas envie de telecharger un tableau de tout les codes ASCII alors on met =='a' ...

par exemple (plus concret) :

if(touche==97){//a est appuyee;};
mais on peut remplacer par :
if(touche=='a'){//a est aussi appuyee;};

donc moi je conserve mon lettre=="a";

++
Nepi (j'espere que j'ai ete clair dans mon argumentation :)
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
25 juil. 2004 à 10:43
tres bonne remarque Djl et pour continuer dans ce sens on ne compare pas directement deux chaine de caractères cf strcmp() ou strcimp()...

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
25 juil. 2004 à 10:54
nepi > on vient de dire que lettre=="a"; n'a aucun sens, "a" est une adresse, c'est 'a' qui est un entier
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
25 juil. 2004 à 10:59
c'est ce qu'on te dis, tu test si ta touche est le caractère 'a' et pas la chaine de caractères "a" et de toute façon tout est ASCII
'a'=97=0x61
"a"=97,Null=0x61,null

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
25 juil. 2004 à 13:13
oulala

perso jpense que c'est plutôt lettre=='a' enfin bon

ce que je voulais savoir , c'est si il etait possible d'obtenir le code de la fonction getch () mais bon c'est po grave de tte facon ce que je voulai faire au debut marche avec cette fonction , c'etait juste pr info .
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
25 juil. 2004 à 13:34
Ben voila lettre=='a' et pas "a" pour enfoncer des portes ouvertes

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
25 juil. 2004 à 14:23
mat74 > regarde le fichier source conio.c dans la distrib de devcpp (win32)
0
nepi Messages postés 85 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 30 décembre 2007
25 juil. 2004 à 21:11
Ok c'est vrai j'ai parlé sans reflechir. dsl ++ Nepi
0
Rejoignez-nous