Allora puoi usare la strncpy come ti ho scritto nell'esempio (che riscrivo perchè si è mangiato un \0).
Certo che puoi usare le funzioni della cstring (come lo è strncpy ad esempio). Estendo l'esempio.
codice:
#include <iostream>
#include <cstring>
using namespace std;
class T
{
private:
char* text;
public:
T(){ text = new char[32]; text = "buonasera a tutti"; }
~T(){ delete [] text; }
char* get_c(){return text;}
};
int main()
{
T x;
char a[64];
strncpy(a, x.get_c(), 63);
a[63] = '\0';
cout << a << endl;
char b[11];
strncpy(b, x.get_c(), 4);
strncat(b, "giorno", 6);
b[10] = '\0';
cout << "Stringa (len=" << strlen(b) << "): " << b<< endl;
}