问题陈述
在 C 程序中,确保用户输入是至关重要的是预期的格式,特别是在执行数学运算时。本文讨论如何确定用户提供的输入是否为整数。如果输入的不是整数,程序会提示用户重新输入有效的整数。
解决方案
验证用户输入的方法主要有两种作为整数:
1。使用 cin.fail():
2。使用 std::getline 和字符串操作:
实现
下面是实现 std::getline 和字符串操作的代码片段做法:
#include <iostream> #include <string> int main() { std::string theInput; int inputAsInt; std::getline(std::cin, theInput); while(std::cin.fail() || std::cin.eof() || theInput.find_first_not_of("0123456789") != std::string::npos) { std::cout << "Error" << std::endl; if( theInput.find_first_not_of("0123456789") == std::string::npos) { std::cin.clear(); std::cin.ignore(256,'\n'); } std::getline(std::cin, theInput); } std::string::size_type st; inputAsInt = std::stoi(theInput,&st); std::cout << inputAsInt << std::endl; return 0; }
此代码不断提示用户输入整数,直到输入有效的整数。它处理用户输入非数字字符或提供空输入的情况。
以上是如何在 C 中有效验证用户输入的整数?的详细内容。更多信息请关注PHP中文网其他相关文章!