これは可能ですか?ロシア語を含む単純なファイルを読み取ろうとしましたが、明らかに機能していません。
file.imbue(loc) を呼び出しました (この時点で、loc は正しいです、Russia_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(square)、K(square) などを取得します...