Sale est un peu excessif. Jargonesque, oui. Personnellement j'utilise uint :Citation:
Envoyé par millie
http://emmanuel-delahaye.developpez....ed/inc/types.h
Version imprimable
Sale est un peu excessif. Jargonesque, oui. Personnellement j'utilise uint :Citation:
Envoyé par millie
http://emmanuel-delahaye.developpez....ed/inc/types.h
Es-tu sûr que le #ifndef marche ? J'ai des doutes, là...
Tu parles de quoi, , A qui ?Citation:
Envoyé par Médinoc
j'ai refait les trois fonction pour en faire qu'une seule fonction mais ca marche pas "erreur de compil"
voila le code
mais il m'affiche une erreur :Code:
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 void codage(void) { unsigned OUT[4]; unsigned IN[4]; unsigned r,x1,x2,x3,x4,kk,t1,t2,a; int i; unsigned tmp[8]; /*saisie des caracteres depuis le fichier source, dans le tableau IN (16 bits dans chaque case)*/ while(fgetc(nom_fichier_a_lire)!=EOF) { for(i = 0; i < 8; ++i) /* ecriture sur un tableau temporaire */ { tmp[i]=fgetc(nom_fichier_a_lire); } for (i = 0; i < 4; ++i) { IN[i] = tmp[2*i] & tmp[2*i+1]; } x1=IN[0]; x2=IN[1]; x3=IN[2]; x4=IN[3]; for(r=0;r<8;r++) /* les etapes */ { /* le groupe d'operation effectuer sur le bloc de 64bits */ x1 = mul(x1,Z[0][r]); x4 = mul(x4,Z[3][r]); x2 = (x2 + Z[1][r]) & one; x3 = (x3 + Z[2][r]) & one; kk = mul(Z[4][r],(x1^x3)); t1 = mul(Z[5][r],(kk+(x2^x4)) & one); t2 = (kk+t1) & one; /* la permutation */ x1 = x1^t1; x4=x4^t2; a = x2^t2; x2=x3^t1; x3=a; } /* le tableau de sortie du bloc de 64bits crypter */ OUT[0] = mul(x1,Z[1][etape+1]); OUT[3] = mul(x4,Z[4][etape+1]); OUT[1] = (x3+Z[1][etape+1]) & one; OUT[2] = (x2+Z[2][etape+1]) & one; for (i=0;i<4;i++) { fputc(OUT[i],fichier_a_ecrire); } } }
qq1 peut me dire ce que je doit faire?Code:
1
2
3
4 \idea.c: In function `codage': \idea.c:131: warning: passing arg 1 of `fgetc' from incompatible pointer type \idea.c:135: warning: passing arg 1 of `fgetc' from incompatible pointer type
Tu ne sais pas du tout utiliser les fonctions de flux ?Citation:
Envoyé par monalisa_dulouvre
Lecture d'un fichier texte caractères par caractères :
http://emmanuel-delahaye.developpez....s.htm#fichiersCode:
1
2
3
4
5
6
7
8
9
10
11
12 FILE *fp = fopen(nom_du_fichier, "r"); if (fp != NULL) { int c; while ((c = fgetc(fp)) != EOF) { ... } fclose(fp) }
Pardon, je me suis emballé: C'était une question hors-sujet que je TE posais, te demandant si tu étais sûr que les #ifdef/#ifndef pouvaient vraiment détecter un typedef (puisque ton types.h les utilise comme ça, et que je ne vois aucun #define à l'horizon).Citation:
Envoyé par Emmanuel Delahaye
:oops:
Il ne peuvent évidement pas détecter de typedef, mais si un define a été fait ailleurs, je cède la place...Citation:
Envoyé par Médinoc
j'ai pas regardé encore ce que vous avez fait mais pour le code de votre amiCitation:
Envoyé par monalisa_dulouvre
voilà les nouveaux fichiers j'ai effectué des petits motif pour que ça marche
Pièce jointe 8024
Pièce jointe 8025
enregitrer les fichier le plus simple dans le disque C directement
aprés compiler&executer (F9) avec dev C++ et normalement il doit créer un fichier executable idea.exe où vous avez enregistré les deux fichiers.
aprés il faut ouvrir une fenetre de commande (invite de commande) et pour l'executer il faut un fichier texte
1- pour crypter
c:\>idea fichier.txt ew asferhfv
le resultat du cryptage est enregistrer dans le même fichier texte.
2-pour decrypter utiliser le fichier cypter avec la même clé ici par exemple "asferhfv"
c:\>idea fichier.txt dw asferhfv
il vous donne le fichier du debut ;)
merci bc fou le programme marche tres bien,
mais je voulais savoir si je peut inseret une console de dialogue, aprés compilation ça serais plus agréable.
De rien monalisa,Citation:
Envoyé par monalisa_dulouvre
mais pour la console je ne sais pas est ce qu'il est possible ou non d'afficher la fenetre juste aprés la compilation pour entrer les parametres et l'exécuter????
car j'ai toujours travaillé de cette façon quand il s'agit d'entrer des arguments pour l'exécution .
peut être qu'il y a des membres qui savent comment faire ça.
mais je vais regarder.