在调试MFC程序时,我们经常需要查看特定位置变量的输出值。或者在某特定条件执行时,给出一个输出标识。
一般来说,有3种方法:
1) 调用TRACE(LPCTSTR lpszFormat, ...)函数
在MFC中使用TRACE函数来打印输出结果却是非常方便,和在控制台程序中使用printf函数的使用方法和效果类似。不过有几点
需要注意:一,TRACE函数的输出是在Output窗口的Debug选项下; 二,只有在DEBUG版本调试时才会有输出,如果是在
Release版本调试或者运行程序时,将不会看到输出。
2)使用AfxMessageBox( )函数来输出信息
这个函数在调试时也比较常用,使用方法简单,此处就不做介绍。
3)将标准输出定向到自己创建的控制台
#include "io.h"
#include "fcntl.h"
void InitConsole()
{
int nRet= 0;
FILE* fp;
AllocConsole();
nRet= _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
fp = _fdopen(nRet, "w");
*stdout = *fp;
setvbuf(stdout, NULL, _IONBF, 0);
}
将此函数在MFC程序初始化的地方调用,即可使用控制台查看printf函数的打印信息