Domanda

Ciao, il mio programma permette di salvare alcune impostazioni (soprattutto stringa) in un file di testo, per recuperare in seguito, ma ahimè!I caratteri speciali tornare irriconoscibile!

saveSettings salva le corde una per una...

void email::saveSettings(string filename){
    ofstream savefile(filename.c_str(),ios::out | ios::trunc);
    email settingsemail(this);
    savefile <<mailprog<<endl;
    ...

loadSettings recupererà...

bool loadSettings(string filename){
    char chtemp[255];
    ifstream savefile(filename.c_str(), ios::in);
    if (savefile.is_open()){
    savefile.getline(chtemp,255);
    mailprog=chtemp;
    savefile.getline(chtemp,255);
    smtp=chtemp;
    ...

il testo contiene la lettera 'é', che viene letto come '8'

grazie per qualsiasi suggerimento

È stato utile?

Soluzione

Forse si dovrebbe considerare l'utilizzo di una versione di unicode di getline :)

Vedere questo articolo per ulteriori info

Altri suggerimenti

Prova ad aggiungere ios::binary per il vostro flusso di costruttore di bandiere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top