cin.clear()cin.sync()

Posted 12344321hh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cin.clear()cin.sync()相关的知识,希望对你有一定的参考价值。

看机器学习时,发现之前学的C++代码忘了,cin.clear()、cin.sync()

cin.clear():将流中的所有状态值都重设为有效值

cin.sync():清空流

这个很有意思,如果没有clear,状态值还是无效,清空流写了也不起作用 

如果没有sync,那所有的状态就都是有效,啥都不变,流中的依然存在

cin.ignore()函数中有两个参数,分别为数值型的a 和 字符型的 ch ,即cin.ignore( a, ch )。它表示从输入流 cin 中提取字符,提取的字符被忽略,不被使用。而每抛弃一个字符,它都要进行计数和比较字符:如果计数值达到 a 或者被抛弃的字符是 ch ,则cin.ignore() 函数执行终止;否则,它继续等待。

以上是关于cin.clear()cin.sync()的主要内容,如果未能解决你的问题,请参考以下文章

cin与CTRL+z的问题

清空缓存区,避免对缓存区中残留数据对下次读入造成影响

cin.clear() 不会重置 cin 对象

cin.clear() 和 cin.ignore() 不起作用[关闭]

关于cin.sync()的解释

cin.good(),cin.fail(),cin.clear()