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