社区
C++ 语言
帖子详情
cin导致的死循环
eatta
2007-09-24 02:52:00
在用cin输入时,比如我定义个int a;cin>>a;这时如果我输入的数据是字母加上空格或者其它符号,会导致死循环.我想过用异常机制来解决.但是问题是,该抛出什么样的异常啊?我试过用catch(...),但还是抓不住啊.该怎么办
...全文
285
11
打赏
收藏
cin导致的死循环
在用cin输入时,比如我定义个int a;cin>>a;这时如果我输入的数据是字母加上空格或者其它符号,会导致死循环.我想过用异常机制来解决.但是问题是,该抛出什么样的异常啊?我试过用catch(...),但还是抓不住啊.该怎么办
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eatta
2007-09-24
打赏
举报
回复
那还有没有必要用cin.clear啊?好像这个不用也可以啊.我试了下.
你写了两个出来,是不是只选一个的?
eatta
2007-09-24
打赏
举报
回复
我刚直接加在cin语句后了.好像sync作用是只认第一个空格符前输入的
而我单单用clear的话还是没用的.
请说说这两个函数到底怎么用啊,谢谢
taodm
2007-09-24
打赏
举报
回复
没有“2个”,就一个答案。
eatta
2007-09-24
打赏
举报
回复
楼上的果然可行.刚试了下.一开始你没说怎么用.我就试着理解用下,果然可以.
请具体说下这两个怎么用啊?
我是这样用的,先用cin.bad()检查下,抛出异常,在处理时用cin.sync().
请问有没有必要用cin.bad()检查来抛异常?cin.sync()本身就包括了检查,可以直接加在cin语句后用?
taodm
2007-09-24
打赏
举报
回复
我最开始就告诉你答案了。
eatta
2007-09-24
打赏
举报
回复
cin不会抛,我可以自己设抛啊.刚才看了楼上几位说的.我试过用cin.bad()来检查了,然后抛出个异常.问题是,我知道了异常后应该怎么样解决了?把cin里的清空么?还是怎么样?我的cin的处在循环里,我想一直循环到输入的格式正确为止
eatta
2007-09-24
打赏
举报
回复
那个cin.bad()只是返回布尔类型的.
我的cin是处在一个循环里的switch里.就算我知道了cin.bad()的结果后.catch了异常,是不是要清空那个cin啊?那个cin.clear()是不是用来清空的啊?然后我想继续循环,直到输入的格式正确为止.应该怎么办啊
taodm
2007-09-24
打赏
举报
回复
楼主就不要瞎胡闹了,cin是不会抛异常的。
你还是找本介绍C++输入输出流的书先看看吧。
eatta
2007-09-24
打赏
举报
回复
直接catch(cin.bad())或者列出的其它捆绑函数?
ckt
2007-09-24
打赏
举报
回复
cin.fail()
cin.bad()检查下
taodm
2007-09-24
打赏
举报
回复
cin.clear();
cin.sync();
论文研究 - 建立和新兴的实时检测宫颈肿瘤的光学技术
低度病变(子宫颈抹片检查及具有非典型意义的非典型细胞(ASCUS),低度鳞状鳞状上皮内病变(LGSIL),活检显示HPV改变或
CIN
1); 通常随访两年,然后持续治疗。 可以采用loop切除,激光或冷冻疗法进行治疗。 循环...
软件课程设计 试验报告 代码 演示
整个报数环节在主函数中体现在一个while循环上,而跳出这个循环的条件便是对队列中人数的判断,即当队列中的人数只剩下一个时,跳出此循环。 /////////////////////////////////////////////////// 具体源程序如下...
C++的
cin
输入错误
导致
死循环
C++的
cin
输入错误
导致
死循环
今天在写代码的时候遇到一个bug,也是在无意中发现的,当我乱输入的时候(乱敲键盘那种),程序会出现
死循环
。 简版: int a = 0; while(true) { cout <<"请输入数字"<< ...
cin
输入错误类型
导致
的
死循环
cin
输入错误类型
导致
的
死循环
cin
输入类型错误
导致
死循环
的解决方法
2.
cin
.clear() // 清除错误状态,如果不清除该状态,那么该
cin
将处于输入完成状态,无法重新输入。1.
cin
.fail() //判断是否输入异常,输入类型错误属于输入异常。3.
cin
.ignore() //清除一个字符。
C++ 语言
64,682
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章