Conversion hexa to byte ? - C - Programmation
Marsh Posté le 01-03-2005 à 15:35:55
Merci On dirait que c est ce que je cherche
Marsh Posté le 01-03-2005 à 15:37:47
le_pacifa a écrit : Bonjour j'ai une chaine de caratère en hexa: |
En byte ? Ca n'a aucun sens. Tu veux sans doute dire 'en valeur numérique' ou 'en entier'...
Marsh Posté le 01-03-2005 à 16:03:24
Emmanuel Delahaye a écrit : En byte ? Ca n'a aucun sens. Tu veux sans doute dire 'en valeur numérique' ou 'en entier'... |
Marsh Posté le 01-03-2005 à 16:07:50
En fait c est simple j'ai une chaine
AA BB CC 11 DD EE
et chaque groupe de caractère doit aller dans un byte (char)
Exemple
string de départ:
AA BB CC 11 DD EE
devient
170 187 etc
Marsh Posté le 01-03-2005 à 16:21:23
le_pacifa a écrit : En fait c est simple j'ai une chaine |
Déjà, un truc de base: Que tu affiches ton nombre en hexa ou en décimal ne change rien à sa valeur.
Exemple:
char cA=0xaa;
char cB=170;
if (cA == cB) // Vrai
Ensuite, la fonction strtol("aa", NULL, 16) te renvoie le nombre 170 (je me souviens plus s'il faut lui passer "aa" ou "0xaa" mais j'espère que tu vois déjà l'idée)
Enfin la fonction sprintf(dest, "%d", 170) t'écris la chaîne "170" dans la variable "dest" (espérons que "dest" soit un tableau de char suffisemment long)
Donc une boucle qui analyse la chaîne de départ en utilisant l'espace pour séparer, qui converti la partie de chaîne en cours de traitement en nombre entier puis qui réécrit ce nombre dans une seconde chaîne et basta...
Marsh Posté le 01-03-2005 à 16:38:16
Oki mais y a pas de fonction qui le fait déja
ps: c est juste pour un truc de crypto mais jsuis une burne en C lol .
Marsh Posté le 01-03-2005 à 21:11:28
le_pacifa a écrit : Oki mais y a pas de fonction qui le fait déja |
Vivi, ya la fonction "char *moulcafe(char *)" qui te fait tout ça et qui, en plus, te moud le café...
le_pacifa a écrit : ps: c est juste pour un truc de crypto mais jsuis une burne en C lol . |
Mais non, tout s'apprend, surtout si tu aimes le C...
Marsh Posté le 01-03-2005 à 15:30:58
Bonjour j'ai une chaine de caratère en hexa:
aa fa 7f 56 fb 2f
et j'aimerais la convertire en byte je fais comment ?
Existe t'il une fonction qui fait cela facilement en C?
---------------
APB