我想验证用户输入以确保它是一个整数(完全)。我尝试了一些方法,比如!cin,但它们都没有正常工作..
大多数方法无法像这样验证输入:
32tgf
如果首先是数字然后是字母,则不会失败,但会将其作为有效输入..
注意:这是一个大学项目,它指定变量应该是int类型。
答案 0 :(得分:3)
读入字符串,然后使用例如std::stoi
或std::strtol
都转换为整数并验证输入。
或者读入一个字符串,将该字符串放在用于提取整数的std::istringstream
中。然后检查istringstream
中是否还有其他内容。
我建议使用第一种方法。