C++でロケールを設定する方法を今更ながらに。
setlocale(LC_ALL, ""); とだけでは、C言語ライブラリだけしか効果がなくて、
C++周りでも効果を設定するには、
std::locale::global(std::locale(""));
と書けばいいらしい。(Cライブラリもコレで一発とか?)
他にもこのへんの細かい設定ができるらしいが、詳細はググらないとな。
""には、"ja_JP.UTF-8"とか書けるみたいだけど。
それとwchar_tとはまた別の話みたい……私、にわかプログラマだからなんとも難しい。