У меня проблемы с открытием файла Unicode в C ++ с использованием fstreams вместо старых функций обработки файлов на основе FILE. При открытии файла с помощью _wfopen я могу указать режим, чтобы указать, какую кодировку символов использовать. Например:
_wfopen_s(&file, fileName, unicode ? L"r+, ccs=UTF-16LE" : L"r+" );
Это отлично работает. Однако при использовании wifstream я получаю метку порядка байтов в начале файла, а остальная часть файла появляется в памяти с чередованием 0x00. Очевидно, что это просто чтение каждого символа в виде байта.
Мой вопрос: есть ли какой-либо эквивалент параметра 'mode' выше для использования с fstreams? Это не страшно, если нет, я просто предпочитаю синтаксис потоков над файлами.
Спасибо!