VS2010+MFC中利用控制台输出调试信息

1、在项目自动生成的xxxDlg.cpp文件中添加以下

#include <io.h>
#include <fcntl.h>
#include <stdio.h>

2、把下面的函数InitConsoleWindow()加到项目初始化的地方,然后就可以使用printf函数将信息输出到控制台。

void InitConsoleWindow()
{
 	int nCrt = 0;
	FILE* fp;
	AllocConsole();
 	nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
 	fp = _fdopen(nCrt, "w");
	*stdout = *fp;
	setvbuf(stdout, NULL, _IONBF, 0);
}

在初始化函数中调用上述函数:

BOOL  xxxDlg::OnInitDialog()
{
 	CDialogEx:OnInitDialog();

	// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动执行此操作
 	SetIcon(m_hIcon, TRUE);   // 设置大图标
	SetIcon(m_hIcon, FALSE);  // 设置小图标
	 
	 //TODO:在此添加额外的初始化代码
	InitConsoleWindow();//调用函数,实现控制台输出信息

	return TRUE;
}

在其余函数中利用printf输出信息

int width=100;
int height=150;
printf("frame width: %d, frame height: %d\n", width, height);

运行后会弹出一个CONSOLE,然后printf的东西就会打印在上面。


版权声明:本文为weixin_45589062原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。