سؤال

ومرحبا برنامجي يحفظ بعض الإعدادات (ومعظمهم من سلسلة) إلى ملف نصي، لاستردادها في وقت لاحق، ولكن للأسف! الأحرف الخاصة تأتي التعرف عليها مرة أخرى!

و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'

وأشكركم على أي تلميح

هل كانت مفيدة؟

المحلول

وربما يجب عليك أن تنظر استخدام إصدار يونيكود من getline:)

هذه المقالة للحصول على مزيد من المعلومات

نصائح أخرى

وحاول إضافة ios::binary لديك الأعلام منشئ تيار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top