windows下分配控制台(终端)

时间:2022-08-08 11:30:43

有时我们在自己的程序中,打印调试信息。在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()释放控制台资源。

windows下分配控制台(终端)


运行结果:

windows下分配控制台(终端)