如何在 C++ 中进行简单验证?
我的意思是如何让程序在用户输入一个整数时抛出一个错误,并要求用户重新输入,直到输入一个字符串。
有没有一种简单的方法可以做到这一点?
谢谢
如何在 C++ 中进行简单验证?
我的意思是如何让程序在用户输入一个整数时抛出一个错误,并要求用户重新输入,直到输入一个字符串。
有没有一种简单的方法可以做到这一点?
谢谢
标准 C++ 功能集中没有任何内容可以“阻止”用户在要求输入字符串时输入随机数字。您将不得不编写一些代码来确定输入是否有效 - 例如检查字符串的每个字符以查看它是否为数字。根据确切的标准,“没有数字”或“不能只有数字”或其他任何内容,您必须提供代码来检查它。
有用的功能是isdigit
,这需要 #include <cctype>
. 那里还有其他有用的功能,例如isalpha
,isspace
等。
当然,要给出错误消息,您将需要使用一些合适的打印功能,并重复使用一些do-while
或while
类似的构造。
尝试使用将用户输入的字符串转换为整数std::strtol
。如果操作失败,则意味着用户输入的不是整数的字符串表示(继续程序执行)。如果操作成功,则意味着用户输入的是整数的字符串表示形式。在这种情况下,要求用户提供其他输入。请记住,这strol
将成功地将字符串转换12345qwerty
为整数。
如果要检查输入的字符串是否仅包含数字,则应遍历所有字符串字符并使用 . 检查是否为数字std::isdigit
。