MFC中使用控制台窗口打印调试信息

之前在调试vc6.0平台的老项目。。没有文档,没有注释,只能靠自己打印来调试。但是又不知道如何显示打印信息。

百度找到相关信息,谢谢onlyou930的分享~

原文链接http://blog.csdn.net/onlyou930/article/details/5710737

具体方法如下:

添加引用

#include <iostream>
using namespace std;

在构造函数中调用

AllocConsole();
freopen("CON", "r", stdin );
freopen("CON", "w", stdout);
freopen("CON", "w", stderr);

cout << "启动控制台/n/n";

在析构函数中调用

FreeConsole();

需要输入输出时只需

#include <iostream>
using namespace std;

cout << "显示的内容/n";

char pStr[20];

cin >> pStr;

即可

但是因为我的项目是有多个对象的,这样就需要在每个对象都进行操作,并且发现,如果新建对象,会重新打开一个控制台,打印十分混乱。。

后来自己相对了解后进行修改,

如果只是用printf打印的话,只需要最外层的构造函数中添加

AllocConsole();//创建后台

freopen("CON", "w", stdout);//标准输出
freopen("CON", "w", stderr);标准错误

最外层的析构函数中添加

FreeConsole();

而别的构造函数中只需添加

freopen("CON", "w", stdout);//标准输出
freopen("CON", "w", stderr);标准错误

这样就可以通过一个控制台进行打印从而实现调试。

原文地址:https://www.cnblogs.com/-Donny/p/6308907.html