Hola. hay muchas maneras de conseguir esto.
pero siguiendo la linea de lo que tu conoces.
puedes utilizar lo mismo pero haciendole unas modificaciones.
primero incluye esta cabecera
#include <sstream>
ahora declara una variable con este tipo de dato: ostringstream
ostringstream hexcad;
//haces lo mismo que con el cout
hexcad<<hex<<numero
// ahora vas a utilizar la cadena que tiene la variable
cout<<hexcad.str();
bueno aun alli esta en consola, pero hexcad.str() lo puedes usar hasta con u CString. de mfc o un string.
*-------------------------------------------------------*
mas facil aun:
char hexcad[10];
int num= 50;
itoa( num, hexcad, 16);
cout<<hexcad;