2008-03-25 (Tue)

_ VC8 bug for std::locale and cout

CロケールやC++グローバルロケールを変更すると、コンソールへの出力ができなくなるというVC8バグ。おかしいなぁと思ったらバグだったのか。うーむ。VC9では修正されているようだ。

std::global(std::locale(""));
std::wcout.rdbuf()->pubsetbuf(0,10000);

として、バッファを変えてあげると回避できるようだ。

[]