我知道如何在 C 中做到这一点,但不知道 C++ 解决方案。我希望以下内容具有故障安全性,但是在为输入提供字符串甚至字符后,程序会挂起。如何读取包含 \n 的输入流以释放它?
int main() {
int num;
do {
std::cin.clear();
std::cin >> num;
while ( std::cin.get() != '\n' );
} while ( !std::cin.good() || num > 5 );
return 0;
}