0
votes

Comment enregistrer une chaîne hexagonale en C ++ avec Ostringstream?

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 :


1
votes

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];


0 commentaires

1
votes

Ceci fonctionne: xxx

J'ai ajouté des moulages à (int) et modifier le SETW (2).


0 commentaires

1
votes

Je suppose que le Mainproblème ici est l'interprétation de Char par votre StringStream. Essayez de le jeter à int et tout fonctionne comme charme: xxx

ceci vous donne la sortie souhaitée: xxx < / p>


0 commentaires