这甚至可能吗?我一直在尝试阅读一个包含俄语的简单文件,但它显然不起作用。
我调用了 file.imbue(loc)(此时,loc 是正确的,Russian_Russia.1251)。buf 的类型为 basic_string<wchar_t>
我使用 basic_ifstream<wchar_t> 的原因是因为这是一个模板(从技术上讲,basic_ifstream<T>,但在这种情况下,T=wchar_t)。
这一切都与英文字符完美配合......
while (file >> ch)
{
if(isalnum(ch, loc))
{
buf += ch;
}
else if(!buf.empty())
{
// Do stuff with buf.
buf.clear();
}
}
我不明白为什么在阅读俄语字符时会出现垃圾。(例如,如果文件包含 хеы хеы хеы,我会得到“яюE”、5(正方形)、K(正方形)等...