概述
开发中使用printf,cout等函数能够很方便地从console监控程序运行,
但是对于GUI程序,虽然程序中使用了printf,cout但是无法查看stdout,stderr的输出
有几种方法可以查看GUI程序的输出(VS)
1.使用VC的trace函数代替printf,但是必须include StdAfx.h,输出会显示在ouput窗口中,但是会跟其他的信息混在一起,不是很方便
2.将stdout、stderr输出转向到文件,类似log文件
3.使用WINDOWS提供的一系列ReadConsole,WriteConsole等API来完成这个功能,具体参见MSDN,可以将这些API封装成自己的console类,然后创建一个进程去监视console的输入输出 (使用方法参考
http://blog.chinaunix.net/u2/67530/showart_600981.html )
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄
HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄
HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄
WriteConsole(hOut, "success!", 7, NULL, NULL);
4.使用VC的Post-builder :设置位置在Project | Properties->Configuration Properties->Build Events->Post-Build Event
在Command Line新加一行命令:editbin /SUBSYSTEM:CONSOLE $(OutDir)filename.exe
(其中 filename 为可执行文件名) ,成功后你的GUI程序运行的时候就多了一个console控制台,比较cool
并且cout 输出的东西都会传到console控制台
PS:工程可能需要关闭重新打开
摘自
http://blog.csdn.net/zdl1016/archive/2008/09/16/2936171.aspx
最后
以上就是年轻酒窝为你收集整理的在VS中为GUI程序添加console的全部内容,希望文章能够帮你解决在VS中为GUI程序添加console所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复