MFC使用控制台界面

来源:互联网 发布:阿里云 io 编辑:程序博客网 时间:2024/05/01 20:28
在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息;另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行。
其实有一种方法可以更为方便的输出调试信息,就是输出到控制台(Console)中,即不影响程序运行,又便于查看调试信息。方法如下:
1、#include <conio.h>

2、在需要开启控制台窗口的地方调用
AllocConsole();//注意检查返回值

3、在需要输出调试的时候调用_cprintf等函数
如_cprintf("i=%d\n", i);

4、关闭控制台的时候调用
FreeConsole();

注意:上述方法在输出中文时会出现乱码,如果需要输出中文,请使用下面的方法:
AllocConsole();
freopen( "CONOUT$","w",stdout);
printf("i的值为%d\n", i);

FreeConsole();

Demo:


         CONSOLE_SCREEN_BUFFER_INFO csbiInfo; 
                SMALL_RECT srctWindow;//console
界面结构
AllocConsole();//产生一个console界面
HANDLE hdlWrite = GetStdHandle(STD_OUTPUT_HANDLE);//获取console句柄
GetConsoleScreenBufferInfo(hdlWrite, &csbiInfo);

SMALL_RECT rc = {0,0, 60, 5}; // 重置窗口位置和大小
                BOOL bset=SetConsoleWindowInfo(hdlWrite,TRUE ,&rc);//设置界面大小

SetConsoleTitle("Hollysys");//设置Title
freopen( "CONOUT$","w",stdout);//支持中文显示
printf("salary:%d\n",50000);
FreeConsole();//释放Console
原创粉丝点击