bon voila ,pour mon projet je cherche a générer une chaine de caractère dans un fichier ,majuscule,minuscule,symbole,numero .....
mais le probleme c'est que je ne veux pas avoir de repetition dans ma chaine comme AfrAdcd mais plutot Ghjek23




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<stdio.h>
#include<stdlib.h>
 
void key_crypt()
{
char key[156],c,car;
FILE *f;
int i,verif;
 
f=fopen("/home/moktar/Desktop/Projet stage/Key_crypt.txt","a");
if(f==NULL)
{printf("erreur");exit(0);}
 
 
 
for(i=0;i<156;i++)
{
do
  {
  c=rand() % '~';
  }
  while( !( '!'<=c && c<='~' )  );
 
if (f==NULL)
fprintf(f,"%c",c);
 
else
{
rewind(f);
while(!feof(f))
{fscanf(f,"%c",car);
if (car==c)
verif==1;
}
}
if (verif=1)
i--;
else
fprintf(f,"%c",c);
}
fclose(f);
}
 
 
int main()
{
    key_crypt();
   return 0;
}
au debut je crée un fichier,apres avec rand je génère un caratcere, si le fichier est vide je l'écrit dans le fichier ,sinon je le compare avec les caractère dans le fichier,si il y a des repetitions dans ce cas il faut générer un autre caractère est verif=1 ===> i--.
je dois avoir a la fin 156 caractère différent