当前位置:编程学习 > C/C++ >>

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语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,