作者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()不然會出錯