mfc程序中打开控制台
作者blog:http://87year.info
学习c/c++大多数都是从控制台(console)开始的,在console中直接输出日志信息也非常的方便.
今天我百度了各种各样的在mfc程序中输出日志到console的方法.最后比较了一种比较方便又简单的.可随时关闭打开
/*需要的头文件
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
*/
int hCrt =0;
//创建控制台<!--more-->
void OnBnClickedButton1()
{
FreeConsole();
if ( AllocConsole() )
{
hCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
*stdout = *(::_fdopen(hCrt, "w"));
::setvbuf(stdout, NULL, _IONBF, 0);
*stderr = *(::_fdopen(hCrt, "w"));
::setvbuf(stderr, NULL, _IONBF, 0);
}
}
// 释放控制台
void OnBnClickedButton2()
{
FreeConsole();
}
输出信息
void OnEnUpdateEdit1()
{
printf("hello MFConsole ");
}退出之前一定要FreeConsole()不然会出错
补充:软件开发 , C语言 ,