打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
win32和MFC下如何使用控制台窗口(转自csdn)

在win32和MFC程序中,有时需要输出一些调试信息,本文介绍在win32和MFC程序中使用控制台输出信息的方法。我们可以在应用程序里使用AllocConsole()函数自己开一个控制台(就像DOS窗口一样),然后重定向输入输出,就可以用printf函数向控制台输出信息了,具体方法如下:

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

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

     注意在VS2008下重定向可能需要如下这么写,没有试验过,大家可以试一下。

     FILE* pf;
     freopen_s(&pf,"CONOUT$","w",stdout);

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

     FreeConsole();

 下面是基于一个简单的对话框程序(工程名:TestConsole)的测试例子,在CTestConsoleApp类中重载InitInstance()并在该函数中输入:

     AllocConsole();                                          //开辟控制台
     SetConsoleTitle(_T("DebugOutput"));     // 设置控制台窗口标题
     FILE*pf;                                                   
     freopen_s(&pf,"CONOUT$","w",stdout);  // 重定向输出

 然后在CTestConsoleApp类中重载ExitInstance()并在该函数中输入:

     FreeConsole();

  通过资源编辑器为对话框添加一个测试按钮,并在按钮响应函数CTestConsoleDlg::OnBnClickedTest()函数中输入:

     printf("%s\n", "TestConsole!");

  程序启动后会看到一个对话框和一个控制台窗口,如下所示:

   点击"Test"按钮后将在控制台中输出"TestConsole!",如下所示

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在GUI程序中使用控制台的两种方法
用AllocConsole()创建的外挂console能用c++的cout进行输出操作吗?
【答疑释惑第三十六讲】Windows下如何调试?
给GUI程序加入控制台窗口 方便调试
C/C++ 标准输入输出重定向
调用DOS窗口
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服