Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1494 connectés 

  FORUM HardWare.fr
  Programmation
  C

  probleme avec ASCIi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec ASCIi

n°1112942
shikra
life is short,drink faster!!!
Posté le 08-06-2005 à 17:07:28  profilanswer
 

salut a tous,
 
je suis sur un programme qui genere un mot de passe mais g dois seulement utiliser les caractere compri entre 48 et 122 (en decimal) que je transcri en ASCII.
Le probleme c'est que je ne dois pas avoir de signe cabalistiques a l'arrivé dans mon mot de passe genere!
comment faire??
 
je vous passe le code me permettant de creer mon mot de passe
 

Code :
  1. void genpsswd (int longueur,char *pass)
  2. {
  3. int i;
  4. srandom(getpid());
  5. for (i=0;i<longueur;i++)
  6. {
  7.  pass[i]=(48+(random()  % 74));         //modif a faire ici  
  8. }
  9. }

mood
Publicité
Posté le 08-06-2005 à 17:07:28  profilanswer
 

n°1112980
Tarabiscot​e
Posté le 08-06-2005 à 17:26:47  profilanswer
 

Bon déjà, il vaut mieux utiliser srand, rand (et les utiliser correctement) mais autrement pour ton problème, une solution simple serait de tester si la valeur est alphanumérique (avec isalnum déclarée dans ctype.h par exemple) et de rechercher une autre valeur si ce n'est pas le cas.

n°1112987
shikra
life is short,drink faster!!!
Posté le 08-06-2005 à 17:29:54  profilanswer
 

ba j'ai tester rand et srand il genere moins ien aleatoiremen je trouve mais enfin.Et pourquoi je l'utilise par corectement la ???

n°1113004
Tarabiscot​e
Posté le 08-06-2005 à 17:36:48  profilanswer
 

Tiré du man :
 

Si vous voulez générer un nombre aléatoire entre 1 et 10, vous devriez toujours faire
 
      j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
 
Et jamais quelque chose ressemblant à
 
      j=1+(rand() % 10);


Message édité par Tarabiscote le 08-06-2005 à 17:39:09
n°1113080
shikra
life is short,drink faster!!!
Posté le 08-06-2005 à 18:53:39  profilanswer
 

si ta bien lut on peut utiliser les 2 facons mais ca depend d'un critere et la ca marche tres bien dans mon cas avec la 2eme facon

n°1113550
shikra
life is short,drink faster!!!
Posté le 09-06-2005 à 08:50:16  profilanswer
 

Mais ca change pas le probleme j'arrive toujours pas a avoir les chiffre et les lettres seulment

n°1113617
Emmanuel D​elahaye
C is a sharp tool
Posté le 09-06-2005 à 10:11:23  profilanswer
 

shikra a écrit :

Mais ca change pas le probleme j'arrive toujours pas a avoir les chiffre et les lettres seulment


Tu fais des choses trop compliquées...
C'est ça que tu veux ?


jr83mZT6
56O7Cp11
h85rG3f2
rrbG55k9
Ny2c5O92
KbRg20bm
968uk1WO
8N08286A
I2Sr769O
52Rd8452


 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void make_pwd (char *s, size_t n)
{
   static const char a[] =
   "0123456789"
   "0123456789"
   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   "0123456789"
   "0123456789"
   "abcdefghijklmnopqrstuvwxyz";
 
   size_t i;
 
   for (i = 0; i < n; i++)
   {
      /* methode naive.  
       * Il existe des methodes plus elaborees si necessaire...  
       * lire la FAQ de fr.comp.lang.c
       */
      s[i] = a[rand () % (sizeof a - 1)];
   }
   s[i] = 0;
}
 
int main (void)
{
 
   srand ((unsigned) time (NULL));
 
   {
      int i;
 
      for (i = 0; i < 10; i++)
      {
         char pwd[8+1];
         make_pwd (pwd, sizeof pwd - 1);
         printf ("%s\n", pwd);
      }
   }
 
   return 0;
}



Message édité par Emmanuel Delahaye le 09-06-2005 à 10:18:45

---------------
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/
n°1113619
shikra
life is short,drink faster!!!
Posté le 09-06-2005 à 10:13:36  profilanswer
 

peut etre que c'est complique mais c'est pour mon stage il me demande de le faire en C sachant que j'en ai jamai fait mais que j'ai fait que du C++ cette annéé
Comment faire pour prendre les chiffres et les lettres alor??

n°1113621
shikra
life is short,drink faster!!!
Posté le 09-06-2005 à 10:14:30  profilanswer
 

merci emmanuel gavai un bug et je voyai rien

n°1113726
shikra
life is short,drink faster!!!
Posté le 09-06-2005 à 11:26:13  profilanswer
 

merci a tous j'ai reussi e finir ce petit programme!je vous laisse mon code si ca peut vous interesser:
 

Code :
  1. #include <signal.h>
  2. #include <sys/types.h>
  3. #include <unistd.h>
  4. #include <stdio.h>
  5. #include <ctype.h>
  6. #include <stdlib.h>
  7. void genpsswd (int longueur,char *pass)
  8. {
  9. int i;
  10. char tableau[]={'1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','K','R','S','T','U','V','W','X','Y','Z'};
  11. srandom(getpid());
  12. for (i=0;i<longueur;i++)
  13. {
  14.  pass[i]=tableau[random()  % 61];
  15. }
  16. }
  17. main (int argc,char *argv[])
  18. {
  19. int aflag=0,bflag=0,index,c;
  20. char *cvalue=NULL;
  21. opterr=0;
  22. char password[30]={0};  //initialise le tableau a zero
  23. int i;
  24. srandom (getpid ());
  25. //si pas de parametre, mot de passe a 8 caracteres
  26. if (argc <3)
  27. {
  28.  genpsswd(8,password);
  29.  printf ("%s",password);
  30.  printf ("\n" );
  31. }
  32. while ((c=getopt (argc,argv,"l:" ))!=-1)
  33. switch (c)
  34. {
  35.  case 'l':  //si option l
  36.   aflag=1;
  37.  if (argc ==3)  //et nombre en 3eme parametres
  38.  {
  39.   genpsswd(atoi(argv[2]),password);
  40.   printf ("%s",password);  //on genere et affiche un mot de passe de n caracteres
  41.   printf ("\n" );
  42.  }
  43.   break;
  44.  case '?':  //si mauvais parametre,
  45.   if (isprint (optopt))
  46.   {
  47.    fprintf (stderr,"Unknown option '-%c'.\n",optopt);  //on affiche a cause d'un parametre inconnu
  48.   }
  49.   else
  50.   {
  51.    fprintf (stderr,"Unknown option character '\\x%x'.\n",optopt);  //on affiche a cause d'une option inconnue
  52.   }
  53.  return 1;
  54. }
  55. return 0;
  56. }


a plus et bonne continuation :hello:

mood
Publicité
Posté le 09-06-2005 à 11:26:13  profilanswer
 

n°1113758
shikra
life is short,drink faster!!!
Posté le 09-06-2005 à 11:46:42  profilanswer
 

Hesitez pas a me donner votre avis

n°1113852
Emmanuel D​elahaye
C is a sharp tool
Posté le 09-06-2005 à 13:01:24  profilanswer
 

shikra a écrit :

Hesitez pas a me donner votre avis


Pas de lignes de + de 80 colonnes, please.  
La répartion des chiffres est défavorable. (je l'avais équilibrée à la barbare).


Message édité par Emmanuel Delahaye le 09-06-2005 à 13:01:41

---------------
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/
n°1113875
shikra
life is short,drink faster!!!
Posté le 09-06-2005 à 13:19:44  profilanswer
 

La répartion des chiffres est défavorable. (je l'avais équilibrée à la barbare).
 
????pourqoui elle est defavorable.Il n'y pas pas de reel repartition les chiffres et les lettres etant prises au hasard pas besoinde repartition

n°1113913
Emmanuel D​elahaye
C is a sharp tool
Posté le 09-06-2005 à 13:46:28  profilanswer
 

shikra a écrit :

La répartion des chiffres est défavorable. (je l'avais équilibrée à la barbare).
 
????pourqoui elle est defavorable.Il n'y pas pas de reel repartition les chiffres et les lettres etant prises au hasard pas besoinde repartition


9 chiffres pour 52 lettres... Si ça te convient...


Message édité par Emmanuel Delahaye le 10-06-2005 à 08:16:32

---------------
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/
n°1115217
shikra
life is short,drink faster!!!
Posté le 10-06-2005 à 07:50:47  profilanswer
 

ca convient a mon maitre de stage en tout cas


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  probleme avec ASCIi

 

Sujets relatifs
Probleme mail en phpprobleme moteur de recherche php
probleme avec mysqldumpProbleme d'insertion SQL
wxScintilla, problème d'installationc++ et xml: probleme de copier/coller/supprimer
Problème login avec ma gallerie photo coppermineprobleme de caracteres ASCII
probleme d'ASCII[ Un peu Tout] Probleme ASCII ou autres ...
Plus de sujets relatifs à : probleme avec ASCIi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR