检查"cin"是否为字符串

Check if "cin" is a string

本文关键字:字符串 cin 检查 是否      更新时间:2023-10-16

我有一个简单的小脚本,我正在编码,我试图不允许人们输入字符串,或者如果他们确实使它恢复到函数的开始。下面是我的输入代码:

int main()
{
    cout << "Input your first number" << endl;
    cin >> a;
    cout << "Input your second number" << endl;
    cin >> b;
}

这部分以外的代码可以正常工作,但是如果在这里输入一个字符串,它显然不能工作。

你可能会发现这篇文章很有用,

c++中如何检查输入是否是数字

基本上你可以检查输入,它是否是数值。在检查给定的输入是否是数字之后,您可以在main中添加一个while循环,如果输入不是有效的数字,则要求用户重复。

每个输入都是字符串。如果你想知道输入的字符串是否可以转换为数字,你必须读入字符串并尝试自己转换它(例如使用strol)。

另一种方法是检查从cin读取是否失败,但我个人不喜欢它,因为cin.fail()涵盖了更多错误情况,而不仅仅是类型转换失败。

有一个库函数可能会有帮助,你可以在输入后检查它:

int isdigit(char c);

提示:1.您应该包含这样的文件:

# include <ctype.h>

2。如果c在0 ~ 9,返回1;