MFC中使用控制台输出printf内容

在win32和MFC程序中,有时需要输出一些调试信息,本文介绍在win32和MFC程序中使用控制台输出信息的方法。

我们可以在应用程序里使用AllocConsole()函数自己开一个控制台(就像DOS窗口一样),然后重定向输入输出,就可以用printf函数向控制台输出信息了,具体方法如下:

在CWinApp的重载函数InitInstance()中输入如下语句,开辟一个控制台并重定向输出

<div>AllocConsole(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 开辟控制台</div>
<div>SetConsoleTitle(_T("Debug Output")); ? ? ?// 设置控制台窗口标题</div>
<div>freopen("CONOUT$","w",stdout); ? ? ? ? ? ? // 重定向输出</div>

然后一定要在CWinApp的重载函数ExitInstance()中调用如下语句释放控制台。


FreeConsole();

Comments are closed.