Pergunta

Olá, meu programa salva algumas configurações (principalmente string) em um arquivo de texto, para recuperá -las mais tarde, mas infelizmente! Os personagens especiais voltam irreconhecíveis!

SaveSettings salva as cordas uma a uma ...

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

Os conjuntos de carga os recuperam ...

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;
    ...

Algum texto inclui a letra 'É', que é lida como '8'

Obrigado por qualquer dica

Foi útil?

Solução

Talvez você deva considerar usar uma versão unicode do getLine :)

Ver Este artigo Para mais informações

Outras dicas

Tente adicionar ios::binary para o seu fluxo de bandeiras do construtor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top