La fonction Getch()

Résolu
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

  1. Contributeur
    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,
    1. 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...
      1. Contributeur
        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",...).
      2. 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 ?
      3. Contributeur
        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.
      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 ?
      5. Contributeur
        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).