6

背景: 私たちは win32 アプリケーションを開発し、Windows で "Thompson Toolkit" を使用して、コマンドラインとして使用する UNIX ライクなシェルを提供しています。

コンソールに書き込みたい GUI プログラム (WinMain とメッセージ ループを含む) がありますが、コンソールからプログラムを起動しても、printf などが機能しません。GUI プログラムからコンソールに書き込むにはどうすればよいでしょうか? 自動ビルドシステムがエラーメッセージなどを表示できるように、そこにテキストを出力する必要があります。

ありがとう。

4

4 に答える 4

5

つまり、コンソールを接続する必要があります。詳細とすぐに使用できるコードについては、http://www.codeproject.com/KB/dialog/ConsoleAdapter.aspxを参照してください。

于 2008-10-10T17:17:04.147 に答える
0

基本的に、、を使用して自分でコンソールを作成する必要がありAllocConsoleますAttachConsole。その後、の助けを借りて、標準ハンドルを取得しGetStdHandle、「Cランタイムファイル記述子を既存のオペレーティングシステムファイルハンドルに関連付ける」必要があり_open_osfhandleます。

stdin返されたハンドルを使用して、crtとを上書きできますstdout。その後、のようなすべてのcrtメソッドが機能printfするはずです。

于 2011-02-14T09:40:39.570 に答える
0

コンソールにログを記録する代わりに、ファイルにログを記録してから、別の GUI アプリケーションでファイルを追跡します。これにより、コンソールが整然とした状態に保たれ、ログのより永続的な記録が得られるため、非常に役立つ場合があります。これのほとんどを行うさまざまなライブラリがあります。または、単純にして自分で行うこともできます。

于 2008-10-10T17:24:15.100 に答える
-1

VSを使用していると仮定すると、Visual Studioプロジェクト設定のどこかでコンソールをオンに切り替えることができます。(今手元にないのでどことは言えません)

于 2008-10-10T17:22:31.610 に答える