Lettura di testo + stringe + FLTK c++

di il
1 risposte

Lettura di testo + stringe + FLTK c++

Salve gente ...
sto cercando di realizzare un programmino ... con dev c++ e utilizzando la libreria FLTK.
voglio leggere da un file di testo, formato tutto da una sola riga, con spazi ma nessun ritorno a capo.(fino qui doverei esserci )
dopo aver letto e quindi avere tutto in una stringa (temp) voglio stamparla in un Box (Fl_Box *prova) ... ma non essendoci nessun "a capo" non ci sta sul video.
ho provato a inserire nel testo qualche " \n " ma nulla da fare nn va a capo, anzi mi stampa \n.

il pezzettino di codice è il seguente:

void help(Fl_Widget *w, void *data)
{

fstream words ("Help.txt",ios::in);
string temp;
if(!words)
fl_alert("fanculo");
while(words>>temp)
{
getline(words,temp);
}
prova->copy_label(temp.c_str());
}


Qualcuno ha qualco consiglio ... ciao ciao
GRAZIE

1 Risposte

  • Re: Lettura di testo + stringe + FLTK c++

    GRAZIE A TUTTI ... CMQ HO TROVATO LA SOLUZIONE ... eccco a voi:
    ah .. in questo modo il file di help sarà suddiviso in più righe (nRigheHelp)

    // dichiaro una strnga che conterra tutto il testo di help
    string str="";
    // Apro il file Help.txt
    fstream words ("Help.txt",ios::in);
    // Dichiaro una stringa che conterra solo una riga di tutto il file
    string temp;
    // Controllo di aver aperto correttamente il file, altrimenti mando a video un messaggio di errore
    if(!words)
    {
    fl_alert("Non è possibile aprire il file Help.txt");
    exit(0);
    }
    // for per leggere tutte le righe del file aperto con successo
    for(int i=0;i<nRigheHelp;i++)
    {
    // leggo la riga con gli spazi e la metto in temp
    getline(words,temp);
    // Concateno la stringa str (quella che dovrà contenere tutte le righe dell' Help)
    // con la stringa che contiene solo la riga letta
    str+="\n" + temp;
    }
    poi stampo nel box
Devi accedere o registrarti per scrivere nel forum
1 risposte