Partage
  • Partager sur Facebook
  • Partager sur Twitter

[c] Lire un caractère sans attendre entrée

Sujet résolu
Anonyme
    10 février 2006 à 14:34:23

    Bonkour, je m'explique: je voudrais que dès que l'utilisateur aie entré un caractère, ça passe à la suite sas devoir appuyer sur entrée
    C'est pour un programme de cryptage du genre:
    for(i = 0; i < tailleMot; i++)
    {
        LAFONCTION(mot[i]); //ou un truc comme ça
    }
    //Après on mélange tout selon une clé qui permet de retrouver le texte original

    Est-ce que quelqu'un sait comme on peut faire Svp?
    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2006 à 15:25:01

      #include <conio.h>

      char caractere;

      caractere = getch();

      /* Mais ce n'est pas portable du tout :S */
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        10 février 2006 à 16:28:13

        Citation : ddx39

        #include <conio.h>

        char caractere;

        caractere = getch();

        /* Mais ce n'est pas portable du tout :S */

        ça marche pas; quand je teste ce code:
        #include <stdio.h>
        #include <stdlib.h>
        #include <conio.h>

        int main(int argc, char *argv[])
        {
        char caractere;
        caractere = getch();
        printf("%c", caractere);
        system("pause");
        }
        Il affiche rien (à part le système pause)
        • Partager sur Facebook
        • Partager sur Twitter
          10 février 2006 à 17:00:08

          #include <stdio.h>
          #include <stdlib.h>
          #include <conio.h>

          int main(int argc, char *argv[])
          {
          char caractere;
          caractere = getch();
          printf("\n %c \n", caractere);
          system("pause>nul");
          }


          Moi j'ai essayé ça et ça marche ;), le caractère est affiché une seule fois parce que avec getch(); rien ne s'affiche lors de l'entrée du caractère donc il s'afiche une seul fois ( printf(); ) ;)
          • Partager sur Facebook
          • Partager sur Twitter
            10 février 2006 à 18:22:58

            getchar() ne sert pas a la même chose? (bon jai pas utilisé getchar pour faire ca ...) Faudrais en voir les possibilité il doit s'utiliser comme ceci getchar(variable); mais bon je peut surement me tromper car comme jai dit je ne l'ai jamais utilisé pour ça :)
            • Partager sur Facebook
            • Partager sur Twitter
              10 février 2006 à 18:40:30

              getch() ne demande pas l'envoi du caractère (et donc l'appui sur la touche Enter), contrairement à getchar();

              Vous ne pourrez pas trouver de solution portable pour ça, mais il faut aussi voir si ça en vaut le coup, une telle fonction tient de l'interactivité, j'ai un doute sur sa réelle utilité pour un programme de cryptage...
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                12 février 2006 à 14:52:48

                En effet, j'ai trouvé un moyen de faire sans
                Mais merci quand même!
                • Partager sur Facebook
                • Partager sur Twitter

                [c] Lire un caractère sans attendre entrée

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown