Comment cacher du texte en C?

bibi5674 Messages postés 24 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis entrain de réaliser un script en C pour un jeu en console et en mode 2 joueurs un utilisateur doit rentrer un nombre a l'écran et le faire deviner à l'autre, je m'y prends avec un scanf mais le texte reste affiche a l'écran, il n'y a donc aucune difficulté pour l'adversaire.
Y aurait il un moyen de cacher le nombre entre comme par exemple sous Linux quand on rentre un mot de passe dans la console après un Sudo ? Je suis sous Mac OSX avec xCode mais je ça ne change rien.
Merci par avance de votre aide

5 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Tu peux regarder char * getpass(const char *prompt);
0
bibi5674 Messages postés 24 Statut Membre
 
Merci beaucoup, ça marche aussi si c'est pas sous Linux ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Sous Windows non, pour Mac je ne sais pas... faut regarder.
0
Visiteur
 
Bonjour. Sur un système Unix, donc faisable sur les macs, tu peux utiliser la fonction getpass(char* string) présente dans la bibliothèque unistd.h.

Bonne journée.
0
periplasme Messages postés 422 Statut Membre 53
 
moui ... dans le genre bourrin de service, moi quand j'avais codé ce jeux, j'avais fait une boucle avec une 100aine de retour chariot, plus abordable pour un débutant et portable ;-)

sinon "script en C" ça ne veux rien dire ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Getpass est une fonction obsolète.
Sous linux/mac, il suffit de mettre le terminal en mode raw en utilisant tcgetattr.
Sur windows, cela se fait facilement avec SetConsoleMode.

Cordialement,
0