那么cin.fail()
,!(cin>>)
和cin.get() !='/n'
之间有什么区别?
我知道他们在输入过程中都是处理错误的方法,有人可以解释他们每个人做了什么以及我会使用某个人做什么?
答案 0 :(得分:0)
<强>说明强>
如果在cin.fail()
流中设置了失败位,则函数cin
将返回true。
表达式cin >>
将忽略空格,然后尝试读入数据类型。如果读取失败,cin
状态将设置为failure
。有一个重载允许operator>>
的返回值从失败转换为bool
。
表达式cin.get() != '\n'
,从cin
读入一个字符,然后测试该字符的换行符('\n'
)。 注意:从cin
读取的字符已删除,不可用于其他目的。
表达式用于不同的目的。
用法
cin.fail()
- 在某事之后测试cin
的失败状态
已从cin
。cin >>
- 使用格式化输入从cin
读取对象
(例如,将文本号转换为内部格式)。也许
为其他对象重载。cin.get() != '\n'
- 搜索换行符时使用。该
字符读取在比较后被删除。