Visual C++ 2005 Express Edition(3)

Visual C++ 2005 Express Edition では新規プロジェクトを作成すると
最初から文字セットにUnicode文字セットを使う設定になっている。
でも、僕の過去に書いたコードの多くは
Unicode文字セットをしっかりと意識したものにはなっていないし
Windows9Xで動いて欲しいということもあるから
設定を切り替えて今まで同様マルチバイト文字セットを使うことした。

とはいえ Unicode文字セットをしっかりと意識していないものの
そのうち移行していこうとは思っているから
プログラムの最初の方には

_tsetlocale( LC_ALL, _T("japanese") );
と書いてある。
これ、悪い心がけじゃないと思うんだけど
ライブラリのバグがあるらしく

cout << "あいうえお" << endl;
で何も表示されない。

…仕方がないので _tsetlocale() をコメントアウト。

で、それで済んだかと思ったら、今度は

ofstream file;
file.open("あいうえお", ios::binary);
file.close();
とやると、できあがるファイルの名前が文字化け。

解決法は…

_tsetlocale( LC_ALL, _T("japanese") );
と書けってか。

…ははは。

…。

ふざけるなーーー!!

そろそろ完全にUNICODEなんだろうか。 つか、C#とか?
あぁ、でも、今、そーいう気分じゃないから .net 2003 インストールかなぁ…。


参考ページ:
wcoutのlocale - MSDNフォーラム
Pasture 内の Visual Studio 2005 移行時の注意
Develop | - | -