【发布时间】:2016-02-24 17:43:16
【问题描述】:
如何将字符串转换为无符号整数?
我知道strtoul() 从字符串转换为unsigned long int,但我想要普通的int 而不是long int。
我还没有找到能做到这一点的函数。
【问题讨论】:
-
有
atoi但它没有错误检查与strtoul有相同的方式。您可以使用strtoul并检查该值是否小于或等于UINT_MAX。 -
@BLUEPIXY:
sscanf不一定对小于long的类型执行正确的范围检查。 -
是的,标准没有指定 ERANGE 错误。(使用 GCC)
-
@NorbertvanNobelen:这个问题是关于 C,而不是关于 C++。
标签: c converter type-conversion unsigned-integer