Работа с 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.