• ベストアンサー

Unicodeに設定した後、65という数字をAに

VC6でユニコード化していない場合には、int i = 'A'と定義すると、数値として65からfor文を回したりもできるし、 またストリング型変数との組み合わせでbuf1 += i;などとすると、iは「A」という文字として扱われるかと思います。 ところが、VC2005にし、ユニコード対応をした後で同じことをやっても、iがAではなく、65のままでエラーとなります。 Aに置き換える方法をご存じないでしょうか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

wchar_t にキャストするダケちゃいますか? #include <iostream> #include <locale> using namespace std; int main() { wcout.imbue(locale("japanese")); for ( int i = 65; i < 91; ++i ) { wcout << static_cast<wchar_t>(i); } wcout << endl; } 結果: ABCDEFGHIJKLMNOPQRSTUVWXYZ

noname#144096
質問者

お礼

ありがとうございました。