トップ回答者
マルチスレッドからのリダイレクトについて

質問
-
環境はVisual C++ 6.0です。
_beginthreadex()で幾つかスレッドを作成して,そのスレッド内でdup(),dup2()で,スレッド毎にファイル名を変えて,標準出力をファイルに書き出すように切り替えた状態で,そのスレッドから呼び出された関数の標準出力をリダイレクトする機能を実現したいのですが,dupの標準出力の切り替えがプロセス全体に行っているようで,毎回違うファイルに書き出されたりします。
UNIX環境でも同様の機能を作成したのですが,その場合はマルチスレッドライブラリの場合にdup関数がスレッドセーフな関数にアセンブリされ実行されるため,各スレッド毎に指定したファイルにスレッド配下から呼び出された関数の出力が期待通りリダイレクトされているようです。
VCでdupのスレッドセーフ版な関数があるか,ビルド時にうまい事できるのかを調べているのですが,今のところ分かっていない状況です。何か手がかりをお知りの方はご教授お願いします。