[英]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.