调用strtol,检查存储到endptr的值是否不等于输入(成功转换),并且是指向NUL字节的指针(使用了整个字符串).
http://www.opengroup.org/onlinepubs/000095399/functions/strtol.html
解释说,如果你还想检测溢出,诀窍是将errno设置为0,然后调用strtol,然后检查errno是否仍为0.
如果你想要迂腐,你还必须使用isspace()检查输入字符串的第一个字符是非空格.原因是strtol和朋友跳过了初始空格,但也许你不认为"1"是有效数字.
如果您想允许更大的数字或非整数,则替代方案分别包括strtoll和strtod.
| 归档时间: |
|
| 查看次数: |
9833 次 |
| 最近记录: |