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:
ce code aussi donne le même problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
vous avez une idée du problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
merci
Partager