Я пытаюсь прочитать строки из файлов .txt, которые были сохранены как Unicode. Вот как я это делаю:
wifstream input;
string path = "test.txt";
input.imbue(locale(input.getloc(),
new codecvt_utf16<wchar_t, 0x10ffff, consume_header>));
input.open(path);
if (input.is_open())
{
wstring line;
input.seekg( 1 , ios_base::beg);
getline(input, line);
}
Он отлично работает для файлов с латинскими символами. Но для кириллических файлов я получаю странные символы вместо пробелов и соседних символов.
Например:
Что во входном файле:
Госдеп США осудил нападение на
Что я получаю:
︓осдепР!ШАР>судилР=ападениеР=а
Что я делаю не так?
wchar_t
Windows, указанного как типElem
. Но должна иметь возможность использовать типchar32_t
. - person Cheers and hth. - Alf   schedule 19.05.2015