C++输入错误检测机制

cin是类istream的对象,使用cin进行输入时,它将跳过空白(空格,换行符和制表符)直到遇到非空白字符,

cin将读取从非空白字符到与目标类型不匹配的第一个字符之间的全部内容

比如有cin<

比如再有cin<

正如前面所说cin输入将跳过空白直到遇到非空白字符起才开始读取。

再比如cin<

如果再输入时输入3.3这样的数字的话,则同样的道理,在程序中点符号对于整型来说是非匹配类型,所以只有数字3被输入给变量a,则后面的字符被留在输入流中。

当cin读入的数据与目标变量不一致时将会出现以下四种情况:(cin不读取换行符以及空白字符)
       a).目标变量的值不变
       b).不匹配的输入继续留在输入流中
       c).cin的调用将返回一个false
       d).设置失效,阻断接下来的输入(可以使用cin.sync(),cin.clear()命令恢复ps:两个命令必须一块使用)

你可能感兴趣的:(C++)