繁体   English   中英

如何在运行时打开控制台[C ++ / Visual Studio]

[英]How to open Console during runtime [C++/Visual Studio]

当前,我正在使用Visual Studio开发SDL应用程序。 现在,如果要打开控制台以查看输出,则必须输入“项目属性>链接器>系统>子系统>控制台”以启用它。 但是,当我准备导出时,将其禁用。

但是,我想知道在运行时是否可以打开(或关闭)控制台窗口。 具体来说,我希望能够在应用程序运行时按一个键,以便打开控制台并查看输出。

我尝试从windows.h使用AllocConsole ,但是虽然它确实打开了控制台窗口,但是当我手动将应用程序设置为使用控制台窗口时,它似乎没有显示通常显示的输出。

(或者,我一直在想我可以打开第二个SDL窗口并在其中显示所有输出,但是我不知道如何将所有输出从应用程序流式传输到自身。可能不是最方便的解决方案,但也可以使用。)

您可以使用

if (::GetConsoleWindow() == NULL)
{
  if (::AllocConsole())
  {
    (void)freopen("CONIN$", "r", stdin);
    (void)freopen("CONOUT$", "w", stdout);
    (void)freopen("CONOUT$", "w", stderr);

    SetFocus(::GetConsoleWindow());
  }
}

就在使用printf之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM