本文共 312 字,大约阅读时间需要 1 分钟。
当代码是输入整数,而实际输入是非法字符(如字母)时,程序就会挂掉。
这时需要重置cin标识和清空缓冲区才行。
示例:
cin >> r >> c; if (!cin) //当输入失败(比如输入的不是整数)时,必须先重置cin,然后手动清空cin的缓冲区,然后才能重新输入 { cin.clear(); //这2个函数用来处理错误输入 cin.ignore();//清空cin缓存区 //cin.sync(); return play0(); }
clear函数是清空cin标识的,cin标识是输入错误时产生的,要手动清除才能继续输入。
ignore和sync函数都可以用来清空缓冲区,这2个函数有区别,但是区别不大。
转载地址:http://cpoxz.baihongyu.com/