почему специальные символы читают false из файла - PullRequest
2 голосов
/ 13 февраля 2010

Привет, моя программа сохраняет некоторые настройки (в основном строковые) в текстовый файл, чтобы получить их позже, но, увы! Специальные символы возвращаются до неузнаваемости!

saveSettings сохраняет строки одну за другой ...

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

loadSettings возвращает их ...

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

в некотором тексте есть буква «é», которая читается как «8»

спасибо за любую подсказку

Ответы [ 2 ]

2 голосов
/ 13 февраля 2010

Попробуйте добавить ios::binary к вашим флагам конструктора потока.

2 голосов
/ 13 февраля 2010

Может быть, вам стоит рассмотреть вариант использования getline в юникоде:)

См. эту статью для получения дополнительной информации

...