检查"cin"是否为字符串
Check if "cin" is a string
我有一个简单的小脚本,我正在编码,我试图不允许人们输入字符串,或者如果他们确实使它恢复到函数的开始。下面是我的输入代码:
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;
相关文章:
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 由cin中的字符串中未捕获空白引起的分割错误
- cin >> int 给定一个字符串将 int 赋值为 0
- 从 cin 读取不会返回整个输入字符串
- 而循环跳过 cin.getline() 对于 C 字符串
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- C++程序在将 int 与 cin 一起使用时有效,但不能使用字符串
- 有没有办法让C++从 cin 中接收不确定数量的字符串?
- 在循环中使用 cin.get() 输入字符串
- 为什么 cin 在包含字符串标头后接受字符串输入
- 使用分配构造字符串时是否可以使用 cin?
- cin>>gender 和 cin>>*gender ( c 样式文本字符串)有什么区别
- CIN 标准::带空格的字符串
- 如何将字符输入限制为仅获取一个字符串"cin"
- C++:在 cin 重载中拼接字符串
- STD :: cin和Scanf()应用于字符串之间的区别
- 如何在CIN中以C 的CIN中的所有读取为字符串
- 将字符串从BASH脚本(C 程序)推入CIN
- 使用CIN时,字符串变量不会被覆盖
- "字符串"/"cin"未在此范围内声明