-1

如何在 C++ 中进行简单验证?

我的意思是如何让程序在用户输入一个整数时抛出一个错误,并要求用户重新输入,直到输入一个字符串。

有没有一种简单的方法可以做到这一点?

谢谢

4

2 回答 2

2

标准 C++ 功能集中没有任何内容可以“阻止”用户在要求输入字符串时输入随机数字。您将不得不编写一些代码来确定输入是否有效 - 例如检查字符串的每个字符以查看它是否为数字。根据确切的标准,“没有数字”或“不能只有数字”或其他任何内容,您必须提供代码来检查它。

有用的功能是isdigit,这需要 #include <cctype>. 那里还有其他有用的功能,例如isalpha,isspace等。

当然,要给出错误消息,您将需要使用一些合适的打印功能,并重复使用一些do-whilewhile类似的构造。

于 2013-09-11T11:47:04.797 回答
0

尝试使用将用户输入的字符串转换为整数std::strtol。如果操作失败,则意味着用户输入的不是整数的字符串表示(继续程序执行)。如果操作成功,则意味着用户输入的是整数的字符串表示形式。在这种情况下,要求用户提供其他输入。请记住,这strol将成功地将字符串转换12345qwerty为整数。

如果要检查输入的字符串是否仅包含数字,则应遍历所有字符串字符并使用 . 检查是否为数字std::isdigit

于 2013-09-11T11:45:16.033 回答