VC利用console调试和记录日志

来源:互联网 发布:javascript格式化输出 编辑:程序博客网 时间:2024/05/17 05:14
#include <stdio.h>//释放控制台窗口FreeConsole();//申请控制台窗口 AllocConsole();//设置标题SetConsoleTitle(TCHAR);//重定向输出到控制台freopen("CONOUT$","w+t",stdout);//重定向输出到文件freopen("output.txt","a+",stdout);//设置控制台文字和背景颜色SetConsoleTextAttribute()//获取标准输出窗口GetStdHandle(STD_OUTPUT_HANDLE)// 重新设置缓冲区大小 COORD size = {1024, 1024}; SetConsoleScreenBufferSize(hOut,size); // 重置窗口位置和大小 SMALL_RECT rc = {0,0, 1024-1, 1024-1};SetConsoleWindowInfo(hOut,true ,&rc);//强制刷新缓冲区fflush(stdout);

调试GUI程序,只需要包含stdio.h ,然后再OnCreate()或者Init.. 中 AllocConsole(),然后重定向输出到控制台,就可以利用printf…等函数将信息输出到控制台窗口.控制台实际的头文件在 #include

#define PRINT_INFO #define ErrA{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);}printf#define InfoA{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);}printf//wprintf 如果输出中文有问题,尝试包含头文件#include <locale.h> 然后setlocale(LC_ALL, "chs");#define ErrW{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);}wprintf#define InfoW{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);}wprintf#ifdef PRINT_INFO#ifdef _UNICODE#define ErrErrW#define InfoInfoW#else#define ErrErrA#define InfoInfoA#endif#else#define Err#define Info#endifErrA(错误:%d %s",nErrID,"错误信息");ErrA(%s %d Err:%d %s",__FUNCTION__, __LINE__,nErrID,"错误信息");
0 0
原创粉丝点击