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

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

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

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

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

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

[php]

FreeConsole();

[/php]

Comments are closed.