[英]integer input check in C
我想问一下在C中检查用户输入的最有效方法是什么。我希望用户输入4位整数。 如何确保用户输入的数字准确无误是4位数字?
单程:
1)读取为string
或char*
2)检查每个字符是否在49-58 ASCII范围内。
最后,如果字符串中只有四个字符并满足(2),则使用atoi()
转换为int
atoi()
如果是long则转换为atol())
所有输入均视为字符串(控制台)。 您可以做的是检查lengh是否小于4,如果是,则循环并为每个字符使用isdigit()
以查看是否为digit。
要检查数字,您可以执行类似以下操作:
int isnumeric(char *str)
{
while(*str)
{
if(!isdigit(*str))
return 0;
str++;
}
return 1;
}
使用strtol
函数将您的字符串转换为long
。 strtol
可以进行错误检查以检查您是否真的很long
。 然后检查数字在1000
到9999
之间(对于4位正整数十进制整数)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.