J'essaie de connecter des valeurs hexagonales à un ostringream, mais cela ne fonctionne pas. J'essaie:
e1 << "0x" << std::setfill('0') << std::setw(3) << std::hex << buf[0]; e1 << " "; e1 << "0x" << std::setfill('0') << std::setw(3) << std::hex << buf[1]; e1 << " "; e1 << "0x" << std::setfill('0') << std::setw(3) << std::hex << buf[2]; e1 << " "; e1 << "0x" << std::setfill('0') << std::setw(3) << std::hex << buf[3];
3 Réponses :
Le problème est que les caractères ne sont pas traités comme des entiers dans le flux de sortie. Les manipulateurs entier n'ont donc aucune incidence sur leur sortie.
Fondamentalement ... Remplacez P>
unsigned int buf[4];
Ceci fonctionne: J'ai ajouté des moulages à (int) code> et modifier le SETW (2). P> P>
Je suppose que le Mainproblème ici est l'interprétation de ceci vous donne la sortie souhaitée: p> Char code> par votre StringStream. Essayez de le jeter à
int code> et tout fonctionne comme charme:
Duplicache possible de Comment puis-je Imprimer un caractère non signé en tant qu'hex en C ++ en utilisant OStream?