Problème de conversion decimal vers Hexa
Bonjour,
je cherche à convertir chaque element d'un tableau de bytes en une chaine de type hexa de cette forme:
"0 b4 30 f2 ab ea 2d" etc...
le problème c'est que j'obtiens ça:
"0 ffffffb4 30 fffffff2 ffffffab ffffffea 2d "
en gros il y a des "ffff" qui sont rajoutés , je ne comprend pas, voici mon source:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
string Licence::getDecodeToHex(char* tab, int size,string &sRetour){
std::ostringstream oss;
// Afficher en héxadécimal
oss << std::hex ;
for (int i = 0; i < size; ++i)
{
// Séparer chaque octet par un espace
if (i != 0)
oss << ' ';
// Afficher sa valeur hexadécimale
// setw(2) permet de forcer l'affichage à 2 caractères
oss << std::setw(2) << static_cast<int>(tab[i]);
}
sRetour=oss.str();
return sRetour; |
ce code aussi donne le même problème:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
string Licence::getDecodeToHex(char* tab, int size,string &sRetour){
string chaine;
ostringstream oss;
for(int i=0;i<size;i++){
oss << std::hex << std::setw(2)<<static_cast<int>(tab[i])<< ' ';
}
sRetour=oss.str();
return sRetour;
} |
vous avez une idée du problème ?
merci :wink: