wifstream эквивалентно параметру _wfopen "mode"? - PullRequest
1 голос
/ 03 марта 2009

У меня проблемы с открытием файла Unicode в C ++ с использованием fstreams вместо старых функций обработки файлов на основе FILE. При открытии файла с помощью _wfopen я могу указать режим, чтобы указать, какую кодировку символов использовать. Например:

_wfopen_s(&file, fileName, unicode ? L"r+, ccs=UTF-16LE" : L"r+" );

Это отлично работает. Однако при использовании wifstream я получаю метку порядка байтов в начале файла, а остальная часть файла появляется в памяти с чередованием 0x00. Очевидно, что это просто чтение каждого символа в виде байта.

Мой вопрос: есть ли какой-либо эквивалент параметра 'mode' выше для использования с fstreams? Это не страшно, если нет, я просто предпочитаю синтаксис потоков над файлами.

Спасибо!

1 Ответ

3 голосов
/ 03 марта 2009

Вы можете попробовать установить, используя фасет преобразования для потока. Проверьте файлы codecvt.h и codecvt.cpp в качестве примера.

...