2009-11-24 51 views
2

在Windows下创建C++控制台应用程序时,会自动为您创建控制台窗口,并将std :: cout输出到控制台窗口。将std :: cout重定向到新创建的控制台

我有一个GUI应用程序,我也想创建一个控制台窗口。我可以使用AllocConsole()函数创建控制台窗口,但是如何将std :: cout重定向/附加到控制台,以便输出显示在控制台窗口中?

回答

0

据我所知,您不能将标准手柄重定向到新控制台。您必须拨打GetStdHandle(DWORD)才能获得要写入的每个设备的句柄。使用这个句柄,你需要用适当的句柄来调用WriteFile,ReadFile,WriteConsole和ReadConsoleInput函数来传递数据。

3

你想使用GetStdHandle和SetStdHandle。鉴于这是一个很长很长的时间,因为我已经做了类似的话,你会更好看一些Some examples

也有这个duplicate question

相关问题