bonjour a tous je veux bien savoir comment masquer la saisie d'une zone texte du genre :
printf("LOGIN : ");gets(login);
printf("PASSWORD : ");gets(pass);
merci d'avance
![]()
bonjour a tous je veux bien savoir comment masquer la saisie d'une zone texte du genre :
printf("LOGIN : ");gets(login);
printf("PASSWORD : ");gets(pass);
merci d'avance
![]()
Envoyé par khedji
Déjà, il ne faut pas utiliser gets().
Ensuite, il n'y a pas de solution standard. Il y a bien getpass() qui est assez portable, mais, à ma connaissance, déprécié, car pas très sûr. Il y a peut être un équivalent plus récent que je ne connais pas.
Une version pour les sytèmes Unix (donc non portable)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 printf("Mot de passe :"); fflush(stdout); system("stty -echo"); fgets(buffer, sizeof buffer, stdin); system("stty echo"); /* verification de la saisie */
Skyrunner meri mais ça n'a pas marché Emmanuel Delahaye merci pour ton idee de getpass ça marche comme ça :
1_ declarer un pointeur sur cha : char *pass
2_pass=getpass("donner votre password");
mais en realité je voulais maquer la saisie par des etoiles car avec getpass c du vide
merci bcp Skyrunner meri +Emmanuel Delahaye
Pour mettre des étoiles, tu dois régler le terminal en mode caractère (par opposition au mode ligne). Bien évidemment, il n'existe aucune façon portable de le faire, ni à mon avis aucune façon garantie (il est possible que certains terminaux s'en moquent).
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.
dsl Médinoc mais j'etilise le turbo c je suis sur bindows![]()
Partager