如何在C ++中正确验证整数?

时间:2014-01-03 17:42:39

标签: c++ validation

我想验证用户输入以确保它是一个整数(完全)。我尝试了一些方法,比如!cin,但它们都没有正常工作..

大多数方法无法像这样验证输入:

32tgf

如果首先是数字然后是字母,则不会失败,但会将其作为有效输入..

注意:这是一个大学项目,它指定变量应该是int类型。

1 个答案:

答案 0 :(得分:3)

读入字符串,然后使用例如std::stoistd::strtol都转换为整数并验证输入。

或者读入一个字符串,将该字符串放在用于提取整数的std::istringstream中。然后检查istringstream中是否还有其他内容。

我建议使用第一种方法。