【21】MFC入门到精通——MFC 调试及运行状态下,使用printf() 或者 cout 打印输出信息
文章目录
- 1 方法
- 2 实例应用
- 3 在MFC初始化中调用一次,所以输出的地方都可打印
- 4 项目代码下载
MFC运行状态下,使用printf() 或者 cout 打印输出信息
1 方法
只需在需要输出语句前加上以下两行代码,运行后会打开一个cmd
窗口,
就可以打印输出printf()
或者 cout
信息
AllocConsole(); //AllocConsole函数的功能是为当前的窗口程序申请一个Console窗口
freopen("CONOUT$", "w", stdout); // freopen函数用来替换一个流,或者说重新分配文件指针,以实现重定向。
AllocConsole
函数的功能是为当前的窗口程序申请一个Console窗口 返回非零值:调用成功,返回0,调用不成功
freopen
函数用来替换一个流,或者说重新分配文件指针,以实现重定向。可重定向的流有:标准输入流、标准输出流或者标准错误流。
FILE *freopen(const char *path, const char *mode, FILE *stream)
;"CONOUT$"
是指代当前console的特殊字符串,"w"
表明以written模式打开这个console,stdout
指代标准输出流。
2 实例应用
3 在MFC初始化中调用一次,所以输出的地方都可打印
在初始化函数OnInitDialog()处调用一次PrintMessage(),然后在需要输出的地方直接输出即可。程序运行后直接调出Console窗口。
也可以将其封装成函数,便于调用
void CMFCApplication2Dlg::PrintMessage()
{AllocConsole(); //AllocConsole函数的功能是为当前的窗口程序申请一个Console窗口freopen("CONOUT$", "w", stdout); // freopen函数用来替换一个流,或者说重新分配文件指针,以实现重定向。std::cout << "调试输出窗口已打开" << std::endl;
}
4 项目代码下载
本节 项目文件下载