IO clear莫名!
c++吧
全部回复
仅看楼主
level 1
回枪撩击
楼主
clear()检查了下起作用了
但是怎么好像cin >> ival;这一行没有了一样
一直输出cerr
2018年03月25日 08点03分
1
level 1
回枪撩击
楼主
2018年03月25日 08点03分
2
level 1
回枪撩击
楼主
真的像是没了cin >> ival;
然后cin.fail()变1了
什么鬼
2018年03月25日 08点03分
3
level 1
回枪撩击
楼主
**
终于试出来了
第一次cin >> ival
输入个字符q
类型不对
te me的q还在cin流里面
第二次cin >> ival根本不用再输入
直接读没读出来的q
te me 的
2018年03月25日 09点03分
4
回枪撩击
最te me奇怪的是,输入个超大溢出的数,fail报1,但这个数不在cin里了,te me 的~
2018年03月25日 09点03分
回枪撩击
超大溢出的数也不读出来直接在cin里给丢弃了,字符依然在cin里,te me的,区别对待~
2018年03月25日 09点03分
回枪撩击
更te me奇怪的是,cin.clear()改成cin.clear(istream::failbit),后面这玩意根本不起作用,failbit还是1,根本不能清0,什么鬼~
2018年03月25日 09点03分
回枪撩击
试了下cin.clear(istream::failbit),跟cin.setstate(istream::failbit)的作用是一样,是置1不是清0,什么鬼,te me 的~
2018年03月25日 09点03分
level 1
回枪撩击
楼主
clear(flag)清0变得跟setstate(flag)一样置1
也是没谁了
还好有个无形参clear()可以清0
狗血~
版本:visual studio 2017
2018年03月25日 09点03分
5
1