社区
C++ 语言
帖子详情
关于WIN32控制台程序
奋斗小青年
2011-11-26 08:46:06
很奇怪的一个问题,我自己写了个控制台程序。有这2种情况
1.在调试状态下,程序MAIN函数都return了,但调出来的命令窗口始终都关不了。而且关机都关不了。
2.在CMD命令行中调用EXE程序后,命令行窗口也关闭不了。搞得也关不了机,非要强制关机。
望高手们指教下。 VS2008建的程序
...全文
497
39
打赏
收藏
关于WIN32控制台程序
很奇怪的一个问题,我自己写了个控制台程序。有这2种情况 1.在调试状态下,程序MAIN函数都return了,但调出来的命令窗口始终都关不了。而且关机都关不了。 2.在CMD命令行中调用EXE程序后,命令行窗口也关闭不了。搞得也关不了机,非要强制关机。 望高手们指教下。 VS2008建的程序
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
39 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
奋斗小青年
2011-11-28
打赏
举报
回复
问题已自己解决。最终问题出现在,相应的摄像头对象指针没释放。哎,纠结啊。
bmowker
2011-11-28
打赏
举报
回复
有没有用到线程
[Quote=引用 13 楼 wanyuan19890515 的回复:]
因为在CMD调用不好跟踪源代码,我刚在程序中加了些打屏信息,发现循环已经出去了。已经执行到main函数的return这里来了。为啥都return了 窗口都还不关闭了。 技术牛人与经验丰富的朋友麻烦指点下啊,谢谢了
[/Quote]
--signature------------------------------------
www.lunwenwa.com
奋斗小青年
2011-11-28
打赏
举报
回复
不是多线程,自己顶一下,坐等朋友们帮分析下。
奋斗小青年
2011-11-26
打赏
举报
回复
我这个程序是摄像头是隔多长时间拍一次照的。主要是程序都跑到Main函数的return了。在调试情况窗口不会自动关闭,必须我shift+f5窗口才么。CMD命令行就悲剧了,没那个shift+f5 所以根本退不出。哎 蛋疼啊
奋斗小青年
2011-11-26
打赏
举报
回复
[Quote=引用 22 楼 ziyue007 的回复:]
楼上分析的挺好,楼主这问题还真蛋疼,我写的win32控制台程序还没运到过这种问题呢,当然我的做法一般都是另起一个线程,然后再做完这个事情之后在退出这个线程,在main函数里加一个while(flag)循环,循环里会不停执行switch语句,case 看是否有输入‘q’,输入ql ,杀掉所有程序正在执行的程序,然后让flag=0,这样就退出程序了,没出现过不能退出的状况
楼主可以试试我的做法
[/Quote]
贴贴你的代码看看,学习下
奋斗小青年
2011-11-26
打赏
举报
回复
不是吧,还要起多线程啊?
ziyue007
2011-11-26
打赏
举报
回复
楼上分析的挺好,楼主这问题还真蛋疼,我写的win32控制台程序还没运到过这种问题呢,当然我的做法一般都是另起一个线程,然后再做完这个事情之后在退出这个线程,在main函数里加一个while(flag)循环,循环里会不停执行switch语句,case 看是否有输入‘q’,输入ql ,杀掉所有程序正在执行的程序,然后让flag=0,这样就退出程序了,没出现过不能退出的状况
楼主可以试试我的做法
奋斗小青年
2011-11-26
打赏
举报
回复
我知道后面加个括号 只是说明括号里面的是个整体,跟其他没关系。只是看起来别扭。
继续等待各位给我分析原因,小弟不胜感激啊
xingfeng2510
2011-11-26
打赏
举报
回复
[Quote=引用 4 楼 wanyuan19890515 的回复:]
发现别人程序有这样的写法
{C/C++ code
while(条件)
{
do
{
//程序要做的事
}
while(条件);
{
//一些处理逻辑
}
}
}
第二个while后还有个括号,这啥写法啊 昏迷
[/Quote]
这种写法很常见,{}表块作用域,前面的是do{ //...} while(条件);完整do...while语句
接下来的是{},当执行到'}'时该作用域结束,在其作用域中声明的所有局部变量将会析构
xingfeng2510
2011-11-26
打赏
举报
回复
[Quote=引用 18 楼 xingfeng2510 的回复:]
引用 4 楼 wanyuan19890515 的回复:
发现别人程序有这样的写法
{C/C++ code
while(条件)
{
do
{
//程序要做的事
}
while(条件);
{
//一些处理逻辑
}
}
}
第二个while后还有个括号,这啥写法啊 昏迷
{
//一些处理逻辑
}
这一段是空闲处理程序,当do...while不……
[/Quote]
哦,不好意思,看错了,还以为是win32应用程序呢。如果这控制台程序,就不存在神马空闲处理啦
xingfeng2510
2011-11-26
打赏
举报
回复
[Quote=引用 4 楼 wanyuan19890515 的回复:]
发现别人程序有这样的写法
{C/C++ code
while(条件)
{
do
{
//程序要做的事
}
while(条件);
{
//一些处理逻辑
}
}
}
第二个while后还有个括号,这啥写法啊 昏迷
[/Quote]
{
//一些处理逻辑
}
这一段是空闲处理程序,当do...while不满足条件时,While(条件)循环体仍在循环执行,可以在{ // ...}
内做一些相对耗时的任务。
奋斗小青年
2011-11-26
打赏
举报
回复
这么设置是release的?我刚设了下,还是debug的 我的是VS2008
yisikaipu
2011-11-26
打赏
举报
回复
写个release版的空程序先看看,以排除代码和debug设置可能造成的问题
int main(){return 0};
奋斗小青年
2011-11-26
打赏
举报
回复
现在是循环已经出去了。已经main主函数都return了
无赖叫兽
2011-11-26
打赏
举报
回复
建议循环里面的while的条件放在括号后面,用逗号表达式表达,大括号去掉试试!
奋斗小青年
2011-11-26
打赏
举报
回复
因为在CMD调用不好跟踪源代码,我刚在程序中加了些打屏信息,发现循环已经出去了。已经执行到main函数的return这里来了。为啥都return了 窗口都还不关闭了。 技术牛人与经验丰富的朋友麻烦指点下啊,谢谢了
无赖叫兽
2011-11-26
打赏
举报
回复
循环里的while在小括号里不是只能加条件,要做的事不是放在do里面吗?
波杰克男
2011-11-26
打赏
举报
回复
我前几天也遇到了,也是在调试的情况下,只能关机解决问题,不知道什么原因,坐等高手指点
奋斗小青年
2011-11-26
打赏
举报
回复
我现在不知道是窗口关不了是循环引起的,还是程序设置引起的。我调试时,如果跑完,窗口就没了,如果半路shift+F5 窗口就关不了。
如果在CMD里,窗口是肯定关不了。
奋斗小青年
2011-11-26
打赏
举报
回复
我给大家分析他的代码。
bool flag = true;
int temp = 1;
首先第一个while(flag)
接着do
{
//一个变量自增
}
接着while(变量小于某个值);
{
//正在要做的事在这里。
//在这里我加了点代码,当temp大于3就让flag = false;并且break
}
加载更多回复(17)
C++编写
win32
控制台
下 Socket通信 多线程 聊天室 服务器 客户端
C++语言编写,SOCKET套接字通信,分服务器和客户端,多线程模型,
Win32
控制台
。 首先聊天室分为服务端和客户端,通过TCP连接通信。运行顺序为: 1.首先打开服务服; 2.打开客户端,用户输入名字,连接到服务端后...
最华丽的C语言
控制台
俄罗斯方块(
win32
)
C语言
控制台
俄罗斯方块,界面华丽,Game Over还有动画效果。
VC++ SerialPort类 串口调试
程序
vs2013工程
visualstudio2013下的vc++ SerialPort类
win32
控制台
应用
程序
工程文件
console屏幕处理例子
程序
console屏幕处理例子
程序
。终端窗口屏幕处理相关API使用例子。来自MSVC20\SAMPLES\
win32
\console\
win32
项目和
win32
控制台
程序
的区别
2、
win32
控制台
项目指在32位Windows命令提示符(即所谓的dos)环境下运行的应用
程序
...
win32
项目指运行于32位Windows操作系统中的应用
程序
...包括
win32
控制台
项目... 3、最大的区别当然是
程序
入口了,console的...
C++ 语言
64,691
社区成员
250,497
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章