FC2ブログ

GetStdHandle(STD_OUTPUT_HANDLE)とprintf

 ちょっと検証用にprintfの出力を物理ファイルにリダイレクトしてみようと思ったが、どうもそう単純な話でもないらしい。
 SetStdHandle()を単純に実行するだけでは標準出力を物理ファイルに振り向けることはできないことがあるようだ。
 原因はいまいちよくわからないが、printf()が内部的にstdoutのハンドルを複製していて、SetStdhandle()の影響を受けないように保護しているのかもしれない。
 まあ、stdoutをソケットにリダイレクトすれば、ネットワーク経由でコンソール操作がだだもれになるわけだし、セキュリティの観点からはそういう実装のほうが正しいのかも。(環境はXP SP3、開発はVS2008)
スポンサーサイト



theme : プログラミング
genre : コンピュータ

FC2ブックマーク | この記事をokyuuへインポート | このエントリーを含むはてなブックマーク | ニフティクリップへ追加 | この記事をクリップ! | イザ!ブックマーク | POOKMARK Airlinesに登録する | del.icio.us |
動作未検証 | | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証 | 動作未検証
カレンダー
02 | 2010/03 | 04
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最近の記事
月別アーカイブ
カテゴリー
ブログ内検索
RSSフィード
リンク
いろいろリンクボタン
埋め込みe-Words