La fonction Getch() [Résolu/Fermé]

Signaler
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour,


Qui peut m'expliquer qu'elle est l'utilité de cette fonction en des mots simples ?

J'ai vu qu'on la mettait lorsqu'on avait une bouche for


2 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 757
Bonjour,

getch() n'est pas une fonction standard. Elle ne peut être utilisée que sur Windows. Mais je te déconseille de l'utiliser. Utilise plutôt getchar() dans la mesure du possible, qui est standard.

Sinon, côté fonctionnel, getch() permet à l'utilisateur d'entrer un caractère sans avoir besoin de valider par la touche entrée. De plus la touche saisie n'apparaît pas à l'écran.

Cdlt,
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
Okay... Mais pour les caractères, on utilise la fonction char... Et on peut alors rentrer une chaine de caractère qu'on analysera avec des nombres pour déterminer un palindrome par exemple...
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 757
on utilise la fonction char
char n'est pas une fonction.
De quoi parles-tu ? Du type char ? Ou de la fonction getchar() ?

on peut alors rentrer une chaine de caractère
Pas avec getchar(). Il faut utiliser plutôt fgets() / scanf("%s",...).
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
Je te demande, car j'ai vu dans un examens, une question sur la déclaration " char "... Avec un truc du style '" il y a t-il des contrainres à utiliser cette déclaration ". Je crois que c'est 128 maximum qu'on peut rentrer ?
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 757
Pour chaque type, il y a un maximum. Ce n'est pas propre au type char.
Sinon, le char est un byte d'au moins 8 bits. Donc, son maximum dépend de la représentation. Souvent, on parle de 255 (en unsigned). Mais le mieux est de lire la borne max dans limits.h (CHAR_MAX).
Pour la version signed, la valeur max est présente dans SCHAR_MAX.
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
D'accord, en signed c'est 128 un truc comme ça
Pour les int c'est 130 K
Pour les floats c'est un truc en millions...
Et les long floats c'est du genre 3 milliard, c'est énorme... sauf que ça prend plus de place et c'est moins précis...

Sinon, la diffèrence entre les double et les floats, je le vois pas trop, c'est laquelle qui est la moins restrictive ?
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 757
D'accord, en signed c'est 128 un truc comme ça
127 pour être précis. Mais comme dis plus haut, c'est lorsque le char est stocké sur 8 bits.
Pour les int, c'est 32767 (signed) / 65535 (unsigned), mais ce n'est pas systématiquement vrai. C'est pour ça que je te conseille de te baser plutôt sur les constantes définies dans limits.h

long float ? Ca n'existe pas...

la diffèrence entre les double et les floats, je le vois pas trop, c'est laquelle qui est la moins restrictive ?
La différence ? Beh double est beaucoup plus précis que float. En contrepartie il consomme plus de place en mémoire. Mais sauf en embarqué, il est conseillé de n'utiliser que des doubles (plus efficace, et souvent plus performant).