A ver si me acuerdo, que hace eones que no hago nada en C++:
Código:
char *CadenaOriginal = "¡Hola, Mundo!"
string *CadenaFinal;
CadenaFinal = new string (CadenaOriginal);
El otro caso:
Código:
string *CadenaOriginal = new string ("¡Hola, Mundo!");
char *CadenaFinal;
CadenaFinal = new char [CadenaOriginal->length ()];
// Posibilidad 1.
sprintf (CadenaFinal, CadenaOriginal);
// Posibilidad 2.
sprintf (CadenaFinal, "%s", CadenaOriginal);
Creo que era así. Evidentemente, no olvides los "delete".