bonjour,
je voudrais savoir si il existe une fonction en C qui permet d'afficher des * quand on tape des lettres ou chifffres (comme pour un mot de passe) ?
merci de vos reponses.
bonjour,
je voudrais savoir si il existe une fonction en C qui permet d'afficher des * quand on tape des lettres ou chifffres (comme pour un mot de passe) ?
merci de vos reponses.
à ma connaissance aucune fonctions dans les librairies standars ne fait ça par contre tu peu trés bien la realiser.
Au lieu d'attendre un EOL pour récuperer des caractères, tu récupère les données à l'appui de la touche.
Tu désactive l'affichage des caractères tapés et à chaque fois que tu récupères un nouveau caractère, tu affiche une *.
Je sais que c'est faisable en termcaps, mais je ne suis pas sûr que ce soit la manière la plus efficace.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //... char caractere = 0; caractere = getchar(); while (getchar() != '\n') ; printf("*"); // ...
Ne repond pas a la question, puisque l'affichage des caracteres tapes au clavier se fait (getchar n'empeche rien). Une reponse, utilisant ncurses, est ici.Envoyé par LeTsIrGoD
merci pour le lien, mais j'ai du mal a faire marcher cette fonction, et quels sont les paramètres à mettre dans cette fonction ?
Salut,
Au cas où tu n'aurai toujours pas compris comment faire fonctionner la fonction.
pbuff -> pointeur sur ton tableau de caractère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 size_t getpassword (char *pbuff, size_t buffsize, char mask)
buffsize -> taille de ton tableau de caractère
mask -> le caractère à afficher à la place des caractère saisie, donc dans ton cas : '*'
Au retour de la fonction, tu aura la taille des informations saisies par l'utilisateur, et les données se trouvent dans ton tableau "pbuff"
Partager