http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/
返回值
成功后,函数将转换后的整数作为int
值返回.
那么我在atoi("poop")
、atoi("0")
和atoi("0000000")
之间有什么不同呢
是的,我循环can次,判断所有的零,以防我得到0的结果,但没有更好的方法吗?
Notice: I use ANSI C89
http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/
成功后,函数将转换后的整数作为int
值返回.
那么我在atoi("poop")
、atoi("0")
和atoi("0000000")
之间有什么不同呢
是的,我循环can次,判断所有的零,以防我得到0的结果,但没有更好的方法吗?
Notice: I use ANSI C89
这就是atoi
有时被认为不安全的原因之一.改用strtol
/strtoul
.如果你有,用strtonum
.
函数atoi
比你想象的更危险.The POSIX
standard说:
如果无法表示该值,则行为未定义.
C99标准还规定:
7.20.1
atof、atoi、atol和atoll的功能不需要影响