用cin从控制台输入字符的时候,常常有违法输入的情况,比如,给一个int型变量初始化为char型字符。
当出现这种情况的时候cin中的一个标志位会被置为错误码,范围是1-4,也就是非0,当cin中错误码为非0的时候,用户无法再次调用cin输入,而这时候,如果调用clear方法,该标志位则会清零,如果想清空输入缓冲区内的数据,则需要再调用一次sync方法,这时候cin会恢复初始状态,接受任何输入。
用cin从控制台输入字符的时候,常常有违法输入的情况,比如,给一个int型变量初始化为char型字符。
当出现这种情况的时候cin中的一个标志位会被置为错误码,范围是1-4,也就是非0,当cin中错误码为非0的时候,用户无法再次调用cin输入,而这时候,如果调用clear方法,该标志位则会清零,如果想清空输入缓冲区内的数据,则需要再调用一次sync方法,这时候cin会恢复初始状态,接受任何输入。