📅  最后修改于: 2023-12-03 15:23:07.511000             🧑  作者: Mango
在 C++ 中获取整数输入通常使用 cin
,如果输入错误可能会导致程序崩溃或者出现意外的结果。因此,需要注意错误处理的方法。
使用cin
获取整数输入有两种方法。
使用 cin
直接获取用户输入的整数:
int x;
cin >> x;
但如果用户输入的是字符或其他非整数类型的数据,则会导致错误。
使用 getline
函数读取一行用户输入,再使用 stringstream
将字符串转换为整数:
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string s;
getline(cin, s);
stringstream ss(s);
int x;
ss >> x;
return 0;
}
在这种方法中,getline
函数可以接收用户输入的整数,也可以接收包含多个整数的一行输入,之后将其转化为 stringstream
类型的变量,这样就可以使用 >>
操作符将字符串转化为整数了。
如果用户在输入时出现错误,则需要采取适当的错误处理措施以避免程序崩溃。以下是一种错误处理的方法:
#include <iostream>
#include <string>
using namespace std;
int main() {
int x;
string s;
while (true) {
getline(cin, s);
stringstream ss(s);
if (ss >> x) break;
cout << "Invalid input. Please try again." << endl;
}
cout << "x = " << x << endl;
return 0;
}
在这种方法中,如果用户输入的不是整数,将跳过错误的输入并显示“无效输入。请重试”等错误提示。只有在用户输入正确的整数时,程序才会继续执行并输出结果。
在 C++ 中获取整数输入时,需要注意错误处理的方法。可以使用 cin
直接读取整数输入,但这种方法会忽略错误输入并导致不良结果。因此,我们推荐使用 getline
和 stringstream
的组合来获取整数输入,同时采用适当的错误处理方法,以保证程序的正确性和稳定性。