perché sono caratteri speciali leggi di false da file
-
20-09-2019 - |
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
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