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 回答