Pregunta

Hola mi programa guarda algunos ajustes (en su mayoría de cuerda) a un archivo de texto, para recuperarlos más adelante, pero por desgracia! Los caracteres especiales vuelven irreconocibles!

SaveSettings guarda las cuerdas una a una ...

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

loadSettings los recupera ...

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

Un texto incluye la letra 'E', que se lee de vuelta como '8'

gracias por cualquier indicio

¿Fue útil?

Solución

Tal vez usted debería considerar utilizar una versión Unicode de getline:)

este artículo para más información

Otros consejos

Trate de añadir ios::binary a sus banderas constructor corriente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top