我正在尝试读取已保存为Unicode的.txt文件中的行。 这是我的方法:
对于含有拉丁字符的文件,一切运行正常。但是对于西里尔文文件,我得到的是怪异符号,而不是空格和邻近字符。
例如:
输入文件内容为:
“Госдеп США осудил нападение на”
我得到的结果如下:
“︓осдепР!ШАР>судилР=ападениеР=а”
我做错了什么?
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);
}
对于含有拉丁字符的文件,一切运行正常。但是对于西里尔文文件,我得到的是怪异符号,而不是空格和邻近字符。
例如:
输入文件内容为:
“Госдеп США осудил нападение на”
我得到的结果如下:
“︓осдепР!ШАР>судилР=ападениеР=а”
我做错了什么?