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 :

[linux] utilisation de getch


Sujet :

C

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut [linux] utilisation de getch
    Bonjour

    On vient de m'indiquer comment compiler avec la librairie curses.
    Maintenant, j'aimerais savoir comment utiliser le getch de cette librairie ! Je n'y arrive pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    unsigned char getchM()
    {
     int cla;
     
     do
     {
      cla=getch();
     }
     while (cla==ERR);
     return toupper(cla);
    }
    Je ne sors jamais de la boucle... Si j'affiche (avec %c) cla il vaut toujours ÿ
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par troumad
    Je ne sors jamais de la boucle... Si j'affiche (avec %c) cla il vaut toujours ÿ
    Peut être parce que t'as fonction retourne un unsigned char et que tu lui donne un int ?

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    La boucle, c'est de do while... Rien à voir avec l'int<->char pour la sortie, c'est avant !
    Par contre, l'affichage : printf("%c",cla) avant le while, peut-être que char<->int lui pose problème
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par troumad
    La boucle, c'est de do while... Rien à voir avec l'int<->char, c'est avant !
    Désolé j'ai mal lu

    C'est peut être parce que la valeur de ERR représente le caractère ÿ. Tu appuye bien sur une touche (ton clavier est bien branché ) ?

    Tu appel ta fonction getchM dans quel contexte (tu crée un nouveau thread), à part un problème dans ce genre je ne vois pas

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Voici une vision rapide de ce que je fais, avec des [...] pour virer des parties de code !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <curses.h>
     
    unsigned char getchM();
    [...]
    int main()
    {
     struct joueurs * joueur=NULL;
     struct buts * but=NULL;
     unsigned char rep;
     unsigned char i;
     
     printf("Bonjour\n");
     do
     {
      printf("Test getchM : ");
      i=getchM();
      printf("\nRetour : %c\nEncore ?",i);
      scanf("%c",&i);
     }
     while (i!='n');
    [...]
    }
    [...]
    unsigned char getchM()
    {
     int cla;
     
    do
     {
      cla=getch();
     }
     while (cla==ERR);
    // scanf("%c",&cla);
     return toupper(cla);
    }
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

Discussions similaires

  1. Linux utilise la swap alors qu'il reste de la RAM
    Par Empty_body dans le forum Administration système
    Réponses: 3
    Dernier message: 25/09/2009, 12h54
  2. bibliothèques linux utilisables sous Windows ?
    Par grinder59 dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 27/04/2009, 14h39
  3. [Audio] [JavaSound][Linux]Utiliser ALSA à la place de OSS
    Par supersnail dans le forum Multimédia
    Réponses: 1
    Dernier message: 26/10/2008, 21h35
  4. [Lazarus][Linux] Utilisation des composants powerpdf
    Par orion07 dans le forum Lazarus
    Réponses: 1
    Dernier message: 24/01/2007, 12h34
  5. Réponses: 5
    Dernier message: 18/12/2006, 18h34

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