ho un programma (una sorta di rudimentale editor di testo) nel quale ho la necessità, in una funzione, di ritornare una stringa.
Ho definito un tipo "Testo" così:
codice:
typedef struct {
                   char *p;
                   int nr;  // numero di colonne
                   int nc;  // numero di righe
                   int r0;  // riga di visualizzazione su video
                   int c0;  // colonna di visualizzazione su video
                   } Testo;
con le seguenti funzioni
codice:
    Testo nuovo(int nr, int nc);    // costruttore
    void distruggi(Testo& t);       // distruttore
    int nRighe(Testo& t);           //ritorna il numero di righe
    int nColonne(Testo& t);         //ritorna il numero di colonne
    void assegna(Testo& t,int i,int j,char ch); //inserisce un carattere nella posizione i,j (si tratta di una sorta di matrice fatta mediante l'uso di una stringa sulla quale calcolo il numero di colonne e righe per effettuare gli inserimeni)  es: t.p[9] = 'a'
    char carattere(Testo& t, int i, int j); //ritorna un carattere nella posizione i,j es: return t.p[3];
    void load(Testo& t, char *nomefile); //carica il testo da un file sulla stringa t.p
    void show(Testo& t, int r0, int c0); //visualizza il testo dalla stringa t.p sullo schermo con le funzioni grafiche
    void edit(Testo& t); //gestisce l'immisione del testo tramite la grafica
    void save(Testo& t, char *nomefile); //salva su file il contenuto di t.p
    char* stringaDi(Testo& t); //deve tornarmi tutta la stringa t.p
questa è la funzione stringaDi()

codice:
  char* stringaDi(Testo& t)
  {
      return t.p;
  }
il problema stà nel richiamarla dal main perchè ho bisogno di metterla in un altra stringa che poi devo comparare.

codice:
char* comando=stringaDi(t) //non funziona
scusate se il messaggio è prolisso, ma non sapevo come spiegare il mio problema altrimenti, anche perchè le mie conoscenze sono limitate (questo è un programma che devo fare per scuola!)

grazie a tutti quelli che vorranno darmi una mano