win32和MFC下如何使用控制台窗口
2009-11-05 21:52
459 查看
在win32和MFC程序中,有时需要输出一些调试信息,本文介绍在win32和MFC程序中使用控制台输出信息的方法。我们可以在应用程序里使用AllocConsole()函数自己开一个控制台(就像DOS窗口一样),然后重定向输入输出,就可以用printf函数向控制台输出信息了,具体方法如下:
在CWinApp的重载函数InitInstance()中输入如下语句,开辟一个控制台并重定向输出
AllocConsole(); // 开辟控制台
SetConsoleTitle(_T("Debug Output")); // 设置控制台窗口标题
freopen("CONOUT$","w",stdout); // 重定向输出
注意在VS2008下重定向可能需要如下这么写,没有试验过,大家可以试一下。
FILE* pf;
freopen_s(&pf,"CONOUT$","w",stdout);
记着,一定要在CWinApp的重载函数ExitInstance()中调用如下语句释放控制台。
FreeConsole();
下面是基于一个简单的对话框程序(工程名:TestConsole)的测试例子,在CTestConsoleApp类中重载InitInstance()并在该函数中输入:
AllocConsole(); // 开辟控制台
SetConsoleTitle(_T("Debug Output")); // 设置控制台窗口标题
FILE* pf;
freopen_s(&pf,"CONOUT$","w",stdout); // 重定向输出
然后在CTestConsoleApp类中重载ExitInstance()并在该函数中输入:
FreeConsole();
通过资源编辑器为对话框添加一个测试按钮,并在按钮响应函数CTestConsoleDlg::OnBnClickedTest()函数中输入:
printf("%s/n", "TestConsole!");
程序启动后会看到一个对话框和一个控制台窗口,如下所示:
点击"Test"按钮后将在控制台中输出"TestConsole!",如下所示
在CWinApp的重载函数InitInstance()中输入如下语句,开辟一个控制台并重定向输出
AllocConsole(); // 开辟控制台
SetConsoleTitle(_T("Debug Output")); // 设置控制台窗口标题
freopen("CONOUT$","w",stdout); // 重定向输出
注意在VS2008下重定向可能需要如下这么写,没有试验过,大家可以试一下。
FILE* pf;
freopen_s(&pf,"CONOUT$","w",stdout);
记着,一定要在CWinApp的重载函数ExitInstance()中调用如下语句释放控制台。
FreeConsole();
下面是基于一个简单的对话框程序(工程名:TestConsole)的测试例子,在CTestConsoleApp类中重载InitInstance()并在该函数中输入:
AllocConsole(); // 开辟控制台
SetConsoleTitle(_T("Debug Output")); // 设置控制台窗口标题
FILE* pf;
freopen_s(&pf,"CONOUT$","w",stdout); // 重定向输出
然后在CTestConsoleApp类中重载ExitInstance()并在该函数中输入:
FreeConsole();
通过资源编辑器为对话框添加一个测试按钮,并在按钮响应函数CTestConsoleDlg::OnBnClickedTest()函数中输入:
printf("%s/n", "TestConsole!");
程序启动后会看到一个对话框和一个控制台窗口,如下所示:
点击"Test"按钮后将在控制台中输出"TestConsole!",如下所示
相关文章推荐
- win32和MFC下如何使用控制台窗口
- GUI程序如何使用控制台输出调试信息[zz][MFC调用win32窗口显示调试信息,使用AllocConsole 函数 ]
- win32和MFC下如何使用控制台窗口
- 如何在Win32 Console Application (Win32控制台)程序中使用MFC
- MFC调用win32窗口显示调试信息,使用AllocConsole 函数
- win32控制台项目中使用mfc头文件
- 2步让Win32应用程序/控制台应用使用MFC类库支持显示对话框
- VC的Win32控制台程序中使用MFC库文件
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- win32控制台程序中,使用MFC的方法
- 【MFC】如何在mfc窗口程序中调用控制台
- 如何使用 C# 来更改前景颜色和背景颜色,在控制台窗口中的文本的
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 如何隐藏win32 控制台程序的console窗口
- 使用Win32/MFC实现Splash窗口(含有alpha通道的位图窗口)
- win32控制台程序中,使用MFC的方法
- 如何在控制台程序中使用窗口
- Win32和MFC项目如何输出调试信息到VS的调试窗口
- 如何在win32控制台应用程序中使用C++类库
- 在Win32 Consle Application如何使用MFC类 ,unresolved external symbol __beginthreadex