繁体   English   中英

C中的整数输入检查

[英]integer input check in C

我想问一下在C中检查用户输入的最有效方法是什么。我希望用户输入4位整数。 如何确保用户输入的数字准确无误是4位数字?

单程:

1)读取为stringchar*

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 然后检查数字在10009999之间(对于4位正整数十进制整数)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM