Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1749 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  hexa string vers decimal string

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

hexa string vers decimal string

n°2042576
KeFran882
Posté le 16-12-2010 à 09:08:34  profilanswer
 

Bonjour,
 
Je souhaite convertir un string contenant 10 valeurs hexadécimales en un string contenant l'équivalent décimale codé sur deux caractères.
 
Exemple :  
hexadécimal : 0f27951c0a0
decimal       : 0015020709050112001000
 
Si quelqu'un à une idée ou à déjà codé une fonction similaire, je suis preneur.
 
Merci d'avance,
 
Franck

mood
Publicité
Posté le 16-12-2010 à 09:08:34  profilanswer
 

n°2042596
theshockwa​ve
I work at a firm named Koslow
Posté le 16-12-2010 à 10:24:51  profilanswer
 

Lance toi, montre du code, explique nous ce qui te bloque. Ce genre de fonction n'a pas pour autre but que d'être un éxercice pour apprendre le langage, on ne va donc pas le faire à ta place.


---------------
last.fm
n°2042684
KeFran882
Posté le 16-12-2010 à 15:31:39  profilanswer
 

Oui, on peut voir ça comme un exercice à but pédagogique même si je n'ai jamais eu de cours de C++ et c'est ce qui me fait défaut en dirait :) Voilà ce que j'ai essayé :
 
string hexa="3a36365508";
string (decim);
for (int i = 0; i < hexa.size(); i++)
{
 sprintf(&decim[i], "%02x", hexa[i]);
}
 
Mais au lieu d'obtenir :
03 10 03 05 05 02 00 00 08
Je lis :  
33 61 33 36 33 36 35 35 30 38
 
Cordialement,
 
Franck

n°2042700
h3bus
Troll Inside
Posté le 16-12-2010 à 17:38:42  profilanswer
 

Les caractères de 0 à f dans dans ta chaine suivent ce qu'on appelle le code ASCII, if faut que tu fasse un petit quelque chose avant d'afficher.


---------------
sheep++
n°2042747
smaragdus
whores, drugs & J.S. Bach
Posté le 16-12-2010 à 22:23:52  profilanswer
 

mes souvenirs de C++ sont (très) lointains mais c'est pas un peu HS le sprintf en C++ ?
 
Le %x c'est pour afficher un entier en hexa, toi tu veux l'inverse, spabon


Message édité par smaragdus le 16-12-2010 à 22:26:07
n°2042966
theshockwa​ve
I work at a firm named Koslow
Posté le 17-12-2010 à 18:49:30  profilanswer
 

montre ton code qui compile et sort ca, parce que ce que tu as écrit ici a peu de chance de passer ...


---------------
last.fm
n°2043024
h3bus
Troll Inside
Posté le 18-12-2010 à 17:12:02  profilanswer
 

Ben si ça compile et ça sort bien ce qu'il a mis.


---------------
sheep++
n°2043029
xilebo
noone
Posté le 18-12-2010 à 17:58:31  profilanswer
 

Voici une version C. Ca pourra t'aider pour écrire la version C++ :)  

Code :
  1. char in[32] = "0f27951c0a0";
  2. char out[64];
  3. unsigned long value;
  4. long index = 0;
  5. while (in[index] != 0)
  6. {
  7. sscanf(in+index,"%1x", &value);
  8. sprintf( out+2*index,"%02d",value);
  9. index++;
  10. }

n°2043065
theshockwa​ve
I work at a firm named Koslow
Posté le 19-12-2010 à 00:37:39  profilanswer
 

Quel est le type attendu pour decim ?
Quel est le sens de faire des sprintf à chaque caractère pour écrire une chaine complète ?
Qu'est-ce qui écrit effectivement la sortie que l'on doit lire ?
 
je viens de tester, par miracle, ce code compile et ne crashe pas sur mon essai, mais pour moi, ce code est complètement invalide.


---------------
last.fm

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  hexa string vers decimal string

 

Sujets relatifs
lien vers une page web avec visual studioCopier feuille Excel vers un autre classeur qui bloque
envoi de données de form vers 2 fichiers php[DOTNETNUKE] - comment créer un lien raccourci vers une page ?
Transfert de données DB2/400 vers Oraclecopier des cellules d'une feuille vers une feuille spécifique
manipulation de string[RESOLU]Convertir un nombre entier en decimal si ce nombre est plus...
probleme soft interrupt pour 'C' vers 'C++'Redirection vers mon adresse ip
Plus de sujets relatifs à : hexa string vers decimal string


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR