Lecture d'hexa dans un fichier - C - Programmation
Marsh Posté le 02-08-2005 à 16:34:22
fscanf(pFile, "%llx", cho.Int);
compile avec tous les warnings et reviens après.
Et je te souhaite bien de la chance si t'arrive à avoir un ll de 9 bytes (probablement 9octets ...
Marsh Posté le 02-08-2005 à 16:35:17
tututut
&(cho.Int)
Marsh Posté le 02-08-2005 à 16:38:25
parenthèses inutile. Encore une fois, compile avec des warnings, tout compilateur correct de hurlera dessus.
Marsh Posté le 02-08-2005 à 16:39:48
ReplyMarsh Posté le 02-08-2005 à 16:44:12
ôtez moi d'un doute ... les parenthèses sont inutiles mais elles ne gênent pas la compilation, je me trompe ? le .Int lui-même semble inutile n'est-ce pas ? toutefois, si ça facilite la lecture, c'est toujours bon à prendre ...
Marsh Posté le 03-08-2005 à 18:45:13
Les parentheses sont inutiles car "." a plus grande precedence que "&". Cela dit dans ce cas je prefere mettre des parentheses, qui permettent de ne laisser aucun doute. Quand on relit du code on a autre chose a faire que s'interroger sur la precedence des operateurs.
Le ".Int" est lui aussi inutile, mais la encore c'est plus clair en le mettant (quoi qu'en fait, ca se discute).
Tu sais que la representation textuelle d'un long long de 64 bits peut faire jusqu'a 20 caracteres ?
Marsh Posté le 03-08-2005 à 23:48:31
Aucun j'espere, mais comment sais-tu ce qu'il pense faire de chaine64.Char ?
Marsh Posté le 02-08-2005 à 16:26:49
je dois faire 2 programmes.
Le premier recoit un nom de fichier qui contient une chaine à encrypté, et une clé
Il encode la chaine avec un sous-programme DES et la clé recu, puis l'écrit avec un %xll dans le meme fichier avec l'extension .des
Le deuxième programme recoit un nom de fichier qui contient une chaine à décrypté, et une clé
Il décode la chaine avec un sous-programme DESinv et la clé recu, puis l'écrit dans le meme fichier avec l'extension .txt
mon problème se situe à la lecture de la chaine encodé au début du second programme. Dans mon fichier test.des, j'ai ceci:
307893eb733d51f3
je fais donc une lecture
fscanf(pFile, "%llx", cho.Int);
segmentation fault
cho est représenté ainsi