creer une fonction qui change un affichage ecran - C - Programmation
Marsh Posté le 24-04-2005 à 15:45:14
sous windows regarde du côté de getch() dans conio.h
Marsh Posté le 24-04-2005 à 15:48:36
d'jo a écrit : je cherche une solution pour faire une fonction permettant a l
|
Il n'y a pas de solution standard, car en standard (stdin), l'echo est géré par le système, et on a pas de moyen de le contrôler.
Il existe néanmoins une fonction getpass()[1] qui ne renvoie rien, et qui se trouve sur la plupart des plateformes.
sinon,il faut utiliser des fonctions de bas niveau (conio, [n]curses, termio etc. selon le système...)
---------------------
[1] Cette fonction est obsolète, et j'en cherche une autre...
Marsh Posté le 24-04-2005 à 19:06:23
merci aurai tu un exemple pour que j apprenne a l utilisé
je suis sou linux compilateur gcc ou compi_c
d'jo
Marsh Posté le 24-04-2005 à 19:52:54
d'jo a écrit : merci aurai tu un exemple pour que j apprenne a l utilisé |
man getpass
http://dpobel.free.fr/man/html/aff [...] n/getpass/
Quelle est la partie que tu n'as pas comprise ?
Marsh Posté le 25-04-2005 à 12:46:43
pour les fonction bas niveau quel qu un saurait il les manié ?
Marsh Posté le 25-04-2005 à 12:54:11
essaie encore
Marsh Posté le 25-04-2005 à 13:26:36
d'jo a écrit : pour les fonction bas niveau quel qu un saurait il les manié ? |
Remplace "manié" par le verbe "prendre". Tu peux pas dire "pris" ? Donc, c'est bein "manier".
Marsh Posté le 25-04-2005 à 13:28:21
Hermes le Messager a écrit : Remplace "manié" par le verbe "prendre". Tu peux pas dire "pris" ? Donc, c'est bein "manier". |
bien
Marsh Posté le 25-04-2005 à 13:54:55
Hermes le Messager a écrit : Remplace "manié" par le verbe "prendre". Tu peux pas dire "pris" ? Donc, c'est bein "manier". |
Si si :
"quelqu'un saurait-il les pris" -> prix -> "quelqu'un saurait-il combien ça coûte"
Marsh Posté le 25-04-2005 à 13:55:20
Si tu es sous Linux, utilises la bibliothèque ncurses.h
Elle te permettra de faire tout ce que tu as demandé pour ton mot de passe:
Documentation en pdf (anglais hélas):
http://www.ibiblio.org/pub/Linux/d [...] -HOWTO.pdf
;-)
Marsh Posté le 25-04-2005 à 14:04:05
antp a écrit : Si si : |
Marsh Posté le 25-04-2005 à 19:06:21
Merci pour tout : francais , humour C...
La doc en anglais c tres cho pour moi qui ne maitrise pas le francais lol si tu pouvais m indiquer la fonction qui réalisez le
mot de pass : ***** par exemple ce serai mega cool
merki encor
Marsh Posté le 26-04-2005 à 07:56:33
Il n'y a pas de fonction directe, dans ncurses.h, pour construire une fonction "mot de passe", mais tu as là-dedans tous les outils pour la créer toi-même, très simplement...
getch();
echo;
noecho();
curset(...);
move(...,...);
clrtoeol();
Je n'ai hélas pas trop le temps, sinon je t'aurais bien fait un exemple...
Néanmoins, si tu prends la peine d'étudier en profondeur le chapitre sur les formulaires que peut gérer ncurses.h ("forms" ), tu trouveras là des instructions et des flags qui te permettront, au sein d'un champs d'entrée, de le définir comme étant une case d'encodage de mot de passe.
Juste un truc: ncurses.h n'est pas portable, mais confiné à Linux.
Marsh Posté le 28-04-2005 à 12:05:37
Merci Calo mais
getch() n'appartient pas à ncurses.h mais a conio.h que je n'ai po.
je suis vraiment debutant de plus j'ai du mal à comprendre les man ...c'est pas gagné ...g trouvé wgetch() mais je suis pas sur qu'il fasse la même chose
Au fait je suis sous Cygwin si qqun avait le tps pour un petit exemple ...
Merci bien
Marsh Posté le 28-04-2005 à 12:08:58
Erreur:
getch() fait AUSSI partie de ncurses.h !!
Marsh Posté le 28-04-2005 à 12:20:16
si c'est vrai autant pour moi mais pas chez moi ! bizar
je t'ai fait le prog mais il ne marche pas peut tu me dire ou est le pb ?
#include<stdio.h>
#include<curses.h>
int main ()
{
char alpha;
printf("ENTRER UN CARACTERE (ATTENTION PAS DE RETURN) " );
alpha = getch();
printf("\nVOICI CE CARACTERE: %c",alpha);
return 0;
}
Marsh Posté le 28-04-2005 à 12:41:21
Il y a des erreurs dans ton code:
getch() ne fonctionne pas si tu n'inities pas correctement une fenêtre
en faisant appel à initscr() au début de ton programme...
Et les printf sous ncurses doivent être des printw("..." );
Pour compiler, tu dois ajouter -lncurses comme options...
Prends un peu la peine de lire les premières pages du document pdf... Tout est expliqué !
Code :
|
Calo
Marsh Posté le 24-04-2005 à 15:08:43
Bonjour je suis débutant en C
je cherche une solution pour faire une fonction permettant a l
utilisateur d'entrer son mot de passe en le faisant apparaître sous forme
d'étoiles a l écran
ex :mot de passe : ******
merci d avance pour toute piste ou proposition