IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

L'�quivalent de readkey (de Pascal) en C ?


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 33
    Par d�faut L'�quivalent de readkey (de Pascal) en C ?
    Salut tout le monde

    Qu'elle est l'�quivalent de readkey (de Pascal) en C ?

    C'est � dire la fonction qui lit un et un seul caract�re (sans avoir besoin de cliquer sur retour chariot)

    Merci

  2. #2
    Membre �m�rite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par d�faut
    Il n'y en a pas de standard je crois.
    Si t'es sous Windows, regarde dans <conio> la fonction getch().
    La r�ponse se trouve dans la FAQ je pense.

    Nas'

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 33
    Par d�faut
    D�sol�, j'ai d�j� essay� getch(), getchar() et ca ne marche pas;
    ca n�c�ssite un retour chariot pour valider la lecture.

    Sachant que j'utilise Bloodshed Dev-C++ version 4

  4. #4
    Membre �m�rite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par d�faut
    Pour getchar(), c'est normal, elle est bufferis�e donc tu dois utiliser le retour pour valider.
    Mais pour getch(), ce n'est pas normal. Elle envoie directement le caract�re.
    Je pense que le probl�me vient de la version de <conio.c> livr�e avec DevC++. Ce n'est pas la "bonne" car j'avais aussi ce probl�me.
    Essaye avec ce Devpack de mettre cette version :
    http://www.ece.fr:8000/%7Elavoillo/c/Conio/Conio.DevPak

    Nas'

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    33
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 33
    Par d�faut
    Merci Nasky

    vous aviez raison pour le getch, j'ai compil� le programme ds Turbo C et elle a march� m�me si le lien que tu m'a donn� ne marche pas.

    Mais en ce qui concerne ce que tu m'a dit tout � l'heure concernant la comparaison du caract�re avec '\n' sorry ca ne donne pas de r�sultat ni ds Dev C++ ni ds Turbo C

    j'ai fais comme tu l'a dis :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    e=0;
    c=getch();
    if (c =='\n') /* c etant declaré char */
     {
      e=1;
     }
    printf("%d",e);
    et ca affiche 0

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    J'ignore si on re�oit le \n avec getch().
    Ce qui est s�r par contre, c'est qu'on re�oit le \r.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par elmessoussi
    MMais en ce qui concerne ce que tu m'a dit tout � l'heure concernant la comparaison du caract�re avec '\n' sorry ca ne donne pas de r�sultat ni ds Dev C++ ni ds Turbo C
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    e=0;
    c=getch();
    if (c =='\n') /* c etant declaré char */
     {
      e=1;
     }
    printf("%d",e);
    et ca affiche 0
    Normal, tu es en mode 'raw' avec getch() Le caract�re retourn� est '\r' (PC/DOS/Windows) et non '\n'. Quand on s'�carte de la norme, il faut s'attendre � des surprises...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
       int c;
       <...>
       if (c =='\r')
    TOASTED!

Discussions similaires

  1. R�ponses: 4
    Dernier message: 19/04/2013, 16h18
  2. �quivalent de "goto" de Pascal en Lisp
    Par solawe dans le forum Lisp
    R�ponses: 14
    Dernier message: 07/11/2010, 14h50
  3. [GCC-MACosX]mais o� est readkey() du pascal
    Par Van der Elst dans le forum C
    R�ponses: 2
    Dernier message: 14/06/2006, 01h16
  4. Passer du Pascal � Delphi
    Par poppels dans le forum Langage
    R�ponses: 7
    Dernier message: 30/08/2002, 21h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo