设置失败位后: 当我先调用 cin.clear() 然后调用 cin.ignore() 时,程序是正确的。 而当我第一次调用 cin.ignore() 再调用 cin.clear() 时,忽略似乎不起作用,为什么?
cin.clear()
清除故障位,但 cin.ignore()
不清除。
这意味着,如果流处于无效状态,调用 clear()
后跟 ignore()
会将状态重置为良好,然后忽略下一个字符。
另一方面,调用 ignore()
后跟 clear()
意味着 ignore()
会失败,然后 clear ()
将继续重置流状态。所以,在这种情况下,下一个字符不会被忽略。
关于c++ - failbit 是否会影响 cin 上的调用忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002747/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) | Powered by Discuz! X3.4 |