簡體   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