次のコード:
#include <iostream>
using std::wcin;
using std::wcout;
using std::locale;
int main()
{
locale::global(locale("Portuguese_Brazil"));
wcout << "wcin Test using \"ção\": "; // shows that wcout works properly
wchar_t wcinTest[] = L"";
wcin >> wcinTest;
wcout << wcinTest << " should be \"ção\".";
return 0;
}
結果:
wcin Test using "ção": ção
╬Æo should be "ção".
╬文字はU+2021または8225であり、çはU+00E7または231です。
mult-bytesオプションを変更し、プロジェクトのプロパティでUNICODEを設定するか設定しないかを変更しました。何も機能しませんでした。
私はすでにコンソールフォントをConsolasに設定しました。これは、ç文字を正しく表示できるTrueTypeフォントです。
これを、将来のUNICODEコンソールアプリケーションの標準的な方法として使用できるように、できるだけシンプルで再現性のあるものにしたいと思います。
何か案は?