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