C++ 为什么cin.clear()不重置failbit状态? #包括 使用名称空间std; int main(){ int const size=10; 字符输入_1[大小]; 字符输入_2[大小]; 你应该做这个改变 #include <iostream> using namespace std; int main(){ int const size = 10; char input_1[size]; char input_2[size]; cout << "Enter input 1: " << endl; cin.get(input_1, size); cin.get(); cin.clear(); cout << "Enter input 2: " << endl; cin.get(input_2,size); cout << "input_2 = " << input_2 << endl; return 0; }

C++ 为什么cin.clear()不重置failbit状态? #包括 使用名称空间std; int main(){ int const size=10; 字符输入_1[大小]; 字符输入_2[大小]; 你应该做这个改变 #include <iostream> using namespace std; int main(){ int const size = 10; char input_1[size]; char input_2[size]; cout << "Enter input 1: " << endl; cin.get(input_1, size); cin.get(); cin.clear(); cout << "Enter input 2: " << endl; cin.get(input_2,size); cout << "input_2 = " << input_2 << endl; return 0; },c++,cin,C++,Cin,在您的代码中,cin.get()失败,因为失败位已经设置。谢谢。现在我知道问题出在哪里了。 cin.get(input_1, size); cin.clear(); cin.get();

在您的代码中,
cin.get()
失败,因为失败位已经设置。

谢谢。现在我知道问题出在哪里了。
cin.get(input_1, size);
cin.clear();
cin.get();