c++中check input函数的使用
时间: 2024-09-30 20:14:15 浏览: 27
在 C++ 中,检查输入通常涉及到用户输入的数据有效性验证,防止程序因接收错误或非法数据而崩溃。你可以使用标准库提供的输入流如 `cin` 或者第三方库来进行输入检查。以下是几种常见的做法:
1. **直接使用条件语句**:
```cpp
#include <iostream>
int main() {
int num;
std::cout << "请输入一个整数:";
while (!(std::cin >> num) || num < 0) { // 检查是否读入成功且数值非负
std::cin.clear(); // 清除输入流可能的错误状态
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 清空缓冲区
std::cerr << "输入无效,请输入一个正整数:\n"; // 提示用户并继续循环
}
std::cout << "你输入的是:" << num << "\n";
return 0;
}
```
在这里,我们用一个无限循环来反复请求输入,直到用户输入一个有效的整数。
2. **异常处理**:
```cpp
try {
int num;
std::cout << "请输入一个整数:";
std::cin >> num;
if (std::cin.fail()) throw std::invalid_argument("Invalid input"); // 如果输入失败,抛出异常
if (num < 0) throw std::out_of_range("Number must be non-negative"); // 验证范围
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << ".\n";
// 再次请求输入
// ...
}
```
如果捕获到异常,可以给出错误信息,并让用户重新输入。
阅读全文