¿Cómo puedo agregar datos a una cadena estándar :: en formato hexadecimal?

Tengo un ya existentestd::string y unint. Me gustaría concatenar la representación hexadecimal ASCII (literal de cadena) del número entero alstd::string.

Por ejemplo:

 std::string msg = "Your Id Number is: ";
 unsigned int num = 0xdeadc0de; //3735929054

Cadena deseada:

std::string output = "Your Id Number is: 0xdeadc0de";

Normalmente, solo uso printf, pero no puedo hacer esto con un std :: string (¿puedo?)

¿Alguna sugerencia sobre cómo hacer esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta