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 :

getch et putch, problème Gcc linux


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Par défaut getch et putch, problème Gcc linux
    bonjour tout le monde,

    J'essaie de trouver une fonction qui me permettrait d'afficher un caractère (comme une étoile) lorsque l'utilisateur saisie son mot de passe. Sous windows, j'utilise getch pour la saisie et putch pour afficher l'étoile.

    Mon problème c'est que ces deux fonctions ne sont pas portables sur linux car elles font parties de la librairie conio.h. Je pourrais utiliser la fonction fgets mais je ne vois pas quelle fonction utilisée pour remplacer putch.

    Quelqu'un pourrait m'aider svp ? Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Cette question a été évoquées, sous une forme légèrement différente, mais la problématique est la même.
    Faites par exemple un recherche de "more". Cela ne date que de quelques semaines.
    Mais je ne suis pas sûr que la solution ait été réellement expliquée.

    Complément et après avoir réfléchi
    Les fonctions putc() et/ou putchar() <stdio.h> devraient faire l'affaire.
    Pour la lecture d'un caractère, je préférerais getc() et/ou getchar().
    Dernière modification par Invité ; 06/09/2010 à 19h44.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 477
    Par défaut
    Citation Envoyé par sebosiris Voir le message
    J'essaie de trouver une fonction qui me permettrait d'afficher un caractère (comme une étoile) lorsque l'utilisateur saisie son mot de passe. Sous windows, j'utilise getch pour la saisie et putch pour afficher l'étoile.
    getchar() et putchar() servent effectivement à cela. En plus, elles font partie du C standard.

    Maintenant, il faut que tu saches que ton processus sera relié à un terminal dans lequel l'utilisateur exécutera ton programme. Et par défaut, ce terminal bufferise la frappe de l'utilisateur et gère lui-même un echo local, en n'envoyant le tout au processus que lorsque que l'utilisateur a tapé Entrée.

    Il faudra donc qu'au préalable, tu modifies l'état du terminal pour désactiver l'echo local et lui demander d'envoyer directement les caractères saisis. Fais une recherche sur ce forum avec termios() ou curse.

    Bon courage.

Discussions similaires

  1. Problème gcc sous linux
    Par naspy dans le forum Linux
    Réponses: 8
    Dernier message: 28/01/2014, 23h22
  2. Réponses: 2
    Dernier message: 28/02/2007, 03h39
  3. Réponses: 2
    Dernier message: 24/01/2007, 13h47
  4. [GCC][linux-mac] pascal (gpc) -> c (gcc)
    Par yocco dans le forum C
    Réponses: 6
    Dernier message: 13/06/2006, 00h50
  5. [Debutant] Problème Socket Linux UDP
    Par AxldenieD dans le forum Réseau
    Réponses: 3
    Dernier message: 01/11/2005, 17h08

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