Работа с std::wifstream и std::wofstream. С++

Есть такая структура:

typedef struct someStruct
{
    wchar_t name[10];
    wchar_t name[30];
    wchar_t middle_name[30];
    int year_of_birth;
    int day_of_birth;


} MYSTRUCT

и есть функция для чтения из файла и записи в файл - все в бинарном виде.

MYSTRUCT ReadFromFile(string fileName)
{
    MYSTRUCT myStruct;
    wifstream in(fileName);
    in.read((wchar_t*)&myStruct, sizeof(MYSTRUCT));
    in.close();
    return myStruct;
}

void SaveToFile(MYSTRUCT myStruct)
{
    wofstream out(fileName, ios::out | ios::binary);
    out.write((wchar_t*)&myStruct, sizeof(MYSTRUCT));
    out.close();
}

Не знаю в чем проблема, но корректной записи и чтения не происходит. P.S. Если использовать ofstream | ifstream вместо wifstream и wofstream, то все работает. Но нужна поддержка unicode.


Ответы (0 шт):