使用 ISdigit 通知任何检测到的非法字符

using isdigit to inform any detected illegal characters

本文关键字:非法 字符 检测 ISdigit 通知 任何 使用      更新时间:2023-10-16

我在使用 isdigit 时遇到问题

#include <iostream>
using namespace std;
int main() {
int x = 0;
int y = 1;
int ndCount[10];
for (x = 0; x < 10; x++,y++) {
cout << y << ". Enter a whole number: ";
cin >> ndCount[x];
if (!isdigit(ndCount[x])) {
cout << "Error, Please try again n";
}
}
return 0;
}

每当我尝试输入数字时,它仍然会注册为"错误请重试"。 另外,当我尝试使用字符时,它会自动出错

要检查用户输入的数字是否有效,请执行以下操作:

if(!(cin >> ndCount[x]))
throw std::runtime_error("not a number");

operator>>设置无法分析值时的流failbit。然后operator!检查是否已设置failbit

您将值存储在需要将其存储在charint中,请尝试char ndCount[10];

这将检查您在控制台上输入的字符串上的每个数字。

当然,如果你想检查一个整数,你需要一种不同的方法。