有时我们在自己的程序中,打印调试信息。在MFC中很多小盆友都用AfxMessageBox或MessageBox弹出调试信息,在Linux下编程的同学都知道Linux有个启动程序的终端,直接调用IO操作后可以在终端上打印信息。windows可否这样呢?答案当然是可以的。
下面以我的对话框程序为例:
包含头文件 #include<windows.h>
在对话框的 CDialog::OnInitDialog()中添加分配终端的代码:
AllocConsole();
freopen("CONOUT$","w+t",stdout);
freopen("CONIN$","r+t",stdin);
然后再需要输出日志的地方调用
printf()或std::cout<< 即可。
程序退出前用FreeConsole()释放控制台资源。
运行结果: