Conversion char en hexa - C - Programmation
Marsh Posté le 01-01-2014 à 20:37:25
Bonsoir !
Il vous faudra passer un paramètre de type "chaine" de caractère, pas un caractère ... Et mettre ces caractères et pas des chaines dans vos "case".
Ensuite, par définition, on a : '1' = '0' + 1, '2' = '0' + 2 ...
Donc, vous pouvez facilement simplifier votre code.
Ou alors, déclarez une chaine qui vaut "0123456789ABCDEF", la fonction strchr devrait faire le travail à votre place (si vous êtes familier avec l'arithmétique des pointeurs).
Bonne continuation !
Edit : Sinon, vous pouvez utiliser strtol, en travaillant un peu sur les paramètres.
Marsh Posté le 02-01-2014 à 09:34:28
Il faut profiter du fait que les chiffres se suivent dans les tables de codification, et qu'il en ait de même pour les lettres.
Le seul petit souci est qu'il y a un petit écart entre le '9' et le 'A' dans les tables. Donc, il faut deux traitements séparés, l'un pour les chiffres, et l'autre pour les lettres. On y arrive facilement, par exemple avec ceci :
for(i=0; i<taille; i++) { |
Marsh Posté le 01-01-2014 à 20:03:50
Salut à tous,
Je suis en train de coder un petit truc mais j'ai un petit problème avec la conversion d'un char en hexa.
J'ai une variable de type :
et je voudrait la convertir en :
Je voulais faire une fonction du genre :
Mais existe t'il deja une fonction de ce type?
Merci et bonne année à tous.