我在C类的介绍中,我想知道一个更好的方法来检查输入是否是所需的类型.
这是做这个的好方法吗?我来自一个PHP / PERL背景,这使我相当担心使用while循环.
char type; while (true) { cout << "Were you admitted? [y/n]" << endl; cin >> type; if ((type == 'y') || (type == 'n')) { break; } }
这是一个安全的做法吗,或者我打开自己到一个受伤的世界,我怀疑?在继续之前,确保我得到我想要的输入是什么会是更好的方法?
解决方法
个人我会去:
do { cout << "Were you admitted? [y/n]" << endl; cin >> type; } while( !cin.fail() && type!='y' && type!='n' );