Devi usare un puntatore a caratteri, quindi char *.
Inizializzandolo con "new char[20]" avresti un puntatore con 20 byte allocati, quindi il risultato sarebbe lo stesso (a meno che tu non usi realloc dopo e lo ingrandisci).
P.S.: ma non fai prima con std::string?
Codice:
#include <string>
using namespace std;
int main(int argc, char * argv[])
{
string ciccio = "Stringa di lunghezza pare e piace a te.";
return 0;
}
Č rapido e indolore, fa tutto lui. E per convertirla come puntatore a caratteri, basta usare ciccio.c_str().