分享

给GUI程序加入控制台窗口 方便调试

 quasiceo 2014-01-04
分类: C++新手自学成长 2010-12-16 00:22 476人阅读 评论(0) 收藏 举报

 

下面代码是给程序加入控制台

可以使用console的一系列函数了

例如 printf();

 

  1.    
  2.  if (!AllocConsole())  
  3.  {  
  4. //  MyDbgPrint("创建调试控制台失败");  
  5.  }  
  6.  else  
  7.  {  
  8.   char szBuff[128];  
  9.   wsprintfA(szBuff,"游戏调试输出窗口 进程ID:%d",  
  10.    GetCurrentProcessId());  
  11.   SetConsoleTitleA(szBuff);  //设置控制台标题  
  12.   freopen("conin$""r+t", stdin);     
  13.   freopen("conout$""w+t", stdout);     
  14.   freopen("conout$""w+t", stderr);     
  15.  }  

 

给gui程序加入这个  调试程序非常方便了

下面是关闭控制台

  1.  fclose(stderr);     
  2. fclose(stdout);     
  3. fclose(stdin);     
  4. FreeConsole();     

 

 

 

 

还有一种模式是 把控制台的输出 附加到 父进程的控制台里面

 

  1. if (!AttachConsole(ATTACH_PARENT_PROCESS))  
  2. {  
  3.     MyDbgPrint("附加到父进程控制台失败");  
  4. }  
  5. else  
  6. {  
  7. //    char szBuff[128];  
  8. //    wsprintfA(szBuff,"游戏调试输出窗口 进程ID:%d",  
  9. //        GetCurrentProcessId());  
  10. //    SetConsoleTitleA(szBuff);  
  11.     freopen("conin$""r+t", stdin);     
  12.     freopen("conout$""w+t", stdout);     
  13.     freopen("conout$""w+t", stderr);     
  14. }  

这样 此进程的输出就会转到父进程的控制台内了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多