cin.fail() 不返回 true
cin.fail() not returning true
我不确定我是否理解 cin.fail() 正确。当用户不输入整数时,我试图将其设置为 return true。
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Please enter a positive integer: ";
cin >> number;
cout << cin.fail();
return 0;
}
每当我输入一个非整数(如 55.687)时,cin.fail() 的 returns 0(false)。我不确定为什么。任何帮助将不胜感激。
流尚未失败。
当>>
读入整数时,一发现不能在整数中的字符就停止。在 "55.687"
的情况下,这是 '.'
字符。因此 cin >> number
将 55
读入 number
,并且 ".687"
保留在流中以供将来读取。
给定相同的输入
int main() {
int number;
cout << "Please enter a positive integer: ";
cin >> number;
cin >> number;
cout << cin.fail();
return 0;
}
第二个 cin >> number
会失败,因为 '.'
无法解析为 int
。示例:https://ideone.com/iB3aNk
我不确定我是否理解 cin.fail() 正确。当用户不输入整数时,我试图将其设置为 return true。
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Please enter a positive integer: ";
cin >> number;
cout << cin.fail();
return 0;
}
每当我输入一个非整数(如 55.687)时,cin.fail() 的 returns 0(false)。我不确定为什么。任何帮助将不胜感激。
流尚未失败。
当>>
读入整数时,一发现不能在整数中的字符就停止。在 "55.687"
的情况下,这是 '.'
字符。因此 cin >> number
将 55
读入 number
,并且 ".687"
保留在流中以供将来读取。
给定相同的输入
int main() {
int number;
cout << "Please enter a positive integer: ";
cin >> number;
cin >> number;
cout << cin.fail();
return 0;
}
第二个 cin >> number
会失败,因为 '.'
无法解析为 int
。示例:https://ideone.com/iB3aNk