2

Windows で C++ コンソール アプリケーションを作成すると、自動的にコンソール ウィンドウが作成され、std::cout がコンソール ウィンドウに出力されます。

コンソール ウィンドウも作成したい GUI アプリケーションがあります。AllocConsole() 関数を使用してコンソール ウィンドウを作成できますが、出力がコンソール ウィンドウに表示されるように、std::cout をコンソールにリダイレクト/アタッチするにはどうすればよいですか?

4

2 に答える 2

3

GetStdHandleとSetStdHandleを使用します。私が似たようなことをしたので、それは長い間長いことを考えると、あなたはいくつかの例を見たほうがよいでしょう

この重複した質問もあります

于 2009-11-24T15:01:24.817 に答える
0

私の知る限り、標準のハンドルを新しいコンソールにリダイレクトすることはできません。書き込みたい各デバイスのハンドルを取得するには、GetStdHandle(DWORD)を呼び出す必要があります。このハンドルを使用して、データをやり取りするために適切なハンドルを使用してWriteFile、ReadFile、WriteConsole、およびReadConsoleInput関数を呼び出す必要があります。

于 2009-11-24T14:57:22.063 に答える