Bonsoir à tous !
Tout est dans le titre :
J'ai une chaîne de caractères de type std::string str = "Hello World ����[Xø��؎���м�"
Et je voudrais la voir affichée de manière hexa, avec une philosophie proche de
std::cout << sdt::hex << str
Mais bien sûr la ligne ci-dessus ne marche pas.
J'ai donc pensé à ceci :
Ce qui me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 std::cout << MBR << "\n\n"; std::cout.fill('0'); for(unsigned int i=0,c=0;i<MBR.length();i++) { c = static_cast<unsigned char>(MBR[i]); std::cout.width(2); std::cout << std::hex << c << " "; }
e9 14 00 50 53 ac 3c 00 74 0a b4 0e bb 07 00...
(que soit dit en passant je préfère à 0xe9 0x14 0x00 0x50 0x53... qui elle est un peu lourde)
Et je voulais savoir si il n'y avais pas plus direct que de parcourir char par char, et si non, si ce que j'ai fait est correcte au niveau "propreté" ou "sécurité"
Voilà merci d'avance pour vos réponses![]()
Partager