creer une fonction qui change un affichage ecran

creer une fonction qui change un affichage ecran - C - Programmation

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
 
 

Reply

Marsh Posté le 24-04-2005 à 15:08:43   

Reply

Marsh Posté le 24-04-2005 à 15:45:14    

sous windows regarde du côté de getch() dans conio.h


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 24-04-2005 à 15:48:36    

d'jo a écrit :

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 : ******




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...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

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

Reply

Marsh Posté le 24-04-2005 à 19:08:07    

pardon pour les fotes oulala elle sont moches !

Reply

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é ;)
je suis sou linux compilateur gcc ou compi_c
d'jo


 
man getpass
 
http://dpobel.free.fr/man/html/aff [...] n/getpass/
 
Quelle est la partie que tu n'as pas comprise ?


Message édité par Emmanuel Delahaye le 24-04-2005 à 21:08:19

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 24-04-2005 à 21:07:05    

merci encor

Reply

Marsh Posté le 25-04-2005 à 12:46:43    

pour les fonction bas niveau quel qu un saurait il les manié ?

Reply

Marsh Posté le 25-04-2005 à 12:46:59    

maniees

Reply

Marsh Posté le 25-04-2005 à 12:54:11    

essaie encore


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 25-04-2005 à 12:54:11   

Reply

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". ;)
 


---------------
Expert en expertises
Reply

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 [:aloy]

Reply

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"
[:neowen]


Message édité par antp le 25-04-2005 à 13:55:12

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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
 
;-)

Reply

Marsh Posté le 25-04-2005 à 14:04:05    

antp a écrit :

Si si :
"quelqu'un saurait-il les pris" -> prix -> "quelqu'un saurait-il combien ça coûte"
[:neowen]


[:rofl2]


---------------
Nos estans firs di nosse pitite patreye...
Reply

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

Reply

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.


Message édité par calogerogigante le 26-04-2005 à 08:14:05
Reply

Marsh Posté le 26-04-2005 à 12:16:08    

merci ok merci aussi pour le truc !

Reply

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


Message édité par d'jo le 28-04-2005 à 12:06:15
Reply

Marsh Posté le 28-04-2005 à 12:08:58    

Erreur:
 
getch() fait AUSSI partie de ncurses.h !!


Message édité par calogerogigante le 28-04-2005 à 12:10:08
Reply

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;
     }

Reply

Marsh Posté le 28-04-2005 à 12:20:43    

moi il est ds curses pas ncurses

Reply

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 :
  1. #include <ncurses.h>
  2. int main()
  3. {
  4. initscr();                 /* Start curses mode */
  5. printw("Hello World !!!" ); /* Print Hello World */
  6. refresh();                 /* Print it on to the real screen */
  7. getch();                   /* Wait f o r user input */
  8. endwin();                  /* End curses mode */
  9. return 0;
  10. }


 
 :pt1cable:
 
Calo


Message édité par calogerogigante le 28-04-2005 à 13:13:57
Reply

Marsh Posté le 28-04-2005 à 13:04:32    

merci je vais tester

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed