当前位置: 首页 > news >正文

网站建设礻金手指下拉十二/宜昌网站建设公司

网站建设礻金手指下拉十二,宜昌网站建设公司,江苏疫情最新数据消息,qq表白链接2008年10月11日 星期六 下午 04:43 在Win32的GUI程序中,没有控制台窗口,我们输出调试信息时有些不方便,以往我的做法是使用MessageBox弹出对话框、OutputDebugString向VS的调试窗口输出信息等,但总感觉不如控制台输出几句printf有…

2008年10月11日 星期六 下午 04:43

在Win32的GUI程序中,没有控制台窗口,我们输出调试信息时有些不方便,以往我的做法是使用MessageBox弹出对话框、OutputDebugString向VS的调试窗口输出信息等,但总感觉不如控制台输出几句printf有效率。经过尝试发现GUI程序照样能够拥有(且仅能够拥有一个)控制台窗口,具体做法如下:

#include <locale.h>

在程序初始化时,加入以下代码:

FILE* fpDebugOut = NULL;
FILE* fpDebugIn   = NULL;
if( !AllocConsole() ) MessageBox(NULL, _T("控制台生成失败。"), NULL, 0);
SetConsoleTitle(_T("Debug Window"));
_tfreopen_s(&fpDebugOut, _T("CONOUT$"),_T("w"), stdout);
_tfreopen_s(&fpDebugIn, _T("CONIN$"), _T("r"), stdin);
_tsetlocale(LC_ALL, _T("chs"));     //这是必要的,否则unicode模式下使用C库函数控制台输出不了中文 WriteConsole函数不受影响

注意AllocConsole可能失败,原因可能是程序已经于一个控制台窗口关联过了,等等。

程序结束时,加入以下代码:

fclose(fpDebugOut);
fclose(fpDebugIn);
FreeConsole();

好,现在已经加入了控制台,可以输出字符串了,使用标准的C库函数或者WriteConsole都可以:

使用WriteConsole的话前面其实不用调用freopen重定向输出流了,直接WriteConsole就行:

TCHAR str[256];
    DWORD numOfCharWritten = 0;
    _stprintf_s(str, 256, _T("今年是 %d 年\n"), 2008);
    WriteConsole( GetStdHandle(STD_OUTPUT_HANDLE), str, _tcslen(str), &numOfCharWritten, NULL);

使用C库函数则更简单,但上面一定要调用freopen才有效:

   int tmp = 0;
_tscanf_s(_T("%d\n"), &tmp);
_tprintf_s(_T("刚才输入的是 %d\n"), tmp);

比如在响应WM_PAINT消息时,加入_tprintf_s(_T("重绘 %d 次\n"), ++count),则每次窗口绘制的时候都将输出总重绘次数。

最后,定义两个宏图省事:

#define CREATE_DEBUG_CONSOLE \
FILE* fpDebugOut = NULL; \
FILE* fpDebugIn = NULL; \
FILE* fpDebugErr = NULL; \
if( !AllocConsole() ) \
   MessageBox(NULL, _T("控制台生成失败。"), NULL, 0); \
SetConsoleTitle(_T("Debug Window")); \
_tfreopen_s(&fpDebugOut, _T("CONOUT$"),_T("w"), stdout); \
_tfreopen_s(&fpDebugIn, _T("CONIN$"), _T("r"), stdin); \
_tfreopen_s(&fpDebugErr, _T("CONOUT$"),_T("w"), stderr); \
_tsetlocale(LC_ALL, _T("chs"));

#define RELEASE_DEBUG_CONSOLE \
fclose(fpDebugOut); \
fclose(fpDebugIn); \
fclose(fpDebugErr); \
FreeConsole();

转载于:https://www.cnblogs.com/BeginGame/archive/2011/09/19/2181878.html

http://www.jmfq.cn/news/5271355.html

相关文章:

  • html5商城网页模板/重庆网站优化公司
  • 吾爱上云小程序制作/seo排名推广
  • 2w网站2w网站建设建设/百度收录要多久
  • WordPress小程序修改/网络优化seo
  • 网页设计资料下载网站/营销课程培训视频
  • dw做的网站如何发布/武汉seo和网络推广
  • 公司网站生成二维码/网站如何优化关键词排名
  • soho网站建设/泰安网站制作推广
  • 网页客服系统源码/快速排名优化推广排名
  • 做动态网站的软件有哪些/搜索引擎优化的简写是
  • 山东网站制作软件/如何创建自己的个人网站
  • todoist wordpress/系统优化软件哪个好
  • 网站建设和app开发/专业seo优化公司
  • 专业版式设计网站/淘宝指数转换工具
  • 免费申请企业网站/瑞昌网络推广
  • 厦门市翔安建设局网站/浏阳廖主任打人案
  • 商城网站建设价位/网络推广长沙网络推广
  • 网站建设哪家好万维科技/小学生关键词大全
  • 郴州网站优化/营销战略
  • 做美图+网站有哪些/营销软文写作
  • 武汉做网站建设/win10优化大师免费版
  • 网站建设图片怎么做/百度的广告
  • 开发网址需要多少钱/巢湖seo推广
  • 男女做那些事免费网站/排名优化seo公司
  • 医院网站建设合同/品牌推广外包公司
  • 网站设计的思想/东莞网站建设seo
  • 医药网站设计/站长工具精品
  • 成都网站设计哪家好/房管局备案查询网站
  • 通用wap网站生成系统/百度怎么做广告
  • 怀化信访网站/seo运营学校