Erreur getch() [Résolu/Fermé]

Signaler
Messages postés
42
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
5 juillet 2014
-
Messages postés
5550
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
12 mai 2021
-
Bonjour,


J'ai un petit problème avec la fonction getch()
Lorsque je lance mon programme, une erreur s'affiche et me dit : "drawing operation was attempted when there was no current window"

Je ne comprend pas pourquoi...

Voici mon code :

do
{
password[i]=getch();
i++;
}while(password[i-1] != '\n'&&i<10);

En fait je veux récupérer les caractères tapés sans que ceci ne soit affichés à l'écran, cette fonction est donc tout à fait adapté à mon avis.

Merci

3 réponses

Messages postés
73
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
20 janvier 2014
16
je pense que tu dois mettre un getchar() et non pas un getch()
Messages postés
5550
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
12 mai 2021
934
Salut Zurkhan,

getch() n'est pas une fonction standard. Je suppose que tu es sous Windows et que tu utilises un certain conio.h.

Quant à getchar, qui est en revanche standard (stdio.h), elle va faire un écho à l'écran, et il n'y a rien dans le C standard qui fera autrement.

Si tu es sous Windows, https://www.microsoft.com/en-us/download/details.aspx?id=55984 dit que cette fonction est obsolète et qu'il faut utiliser _getch à la place.

https://www.microsoft.com/en-us/download/details.aspx?id=55984


Dal
Messages postés
42
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
5 juillet 2014

Salut [Dal],

Merci beaucoup pour ton aide elle m'a permis de résoudre mon problème.
J'ai encore une petite question, faut-il inclure la bibliothèque conio.h lorsque j'utilise la fonction _getch() ?


Merci,

Zurkhan
Messages postés
5550
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
12 mai 2021
934
Salut Zurkhan,

Content que tu aies résolu ton problème.

Oui, _getch() nécessite d'inclure <conio.h> sous Windows.

C'est indiqué à https://www.microsoft.com/en-us/download/details.aspx?id=55984 dans la section "Requirements" :-)


Dal