当您在 Windows 下创建 C++ 控制台应用程序时,您会自动获得为您创建的控制台窗口,并将 std::cout 输出到控制台窗口。
我有一个 GUI 应用程序,我还想为其创建一个控制台窗口。我可以使用 AllocConsole() 函数创建控制台窗口,但是如何将 std::cout 重定向/附加到控制台,以便输出出现在控制台窗口中?
据我所知,您无法将标准句柄重定向到新控制台。您必须调用GetStdHandle(DWORD)来获取要写入的每个设备的句柄。使用此句柄,您需要使用适当的句柄调用 WriteFile、ReadFile、WriteConsole 和 ReadConsoleInput 函数来来回传递数据。