从你自己的链接中:
atoi() 函数被 strtol() 函数所包含,但是由于它在现有代码中广泛使用而被保留。 如果不知道数字是否在范围内,应该使用 strtol(),因为 atoi() 不需要执行任何错误检查。
或者
atoi
已经过时了
使用atoi
函数时,无法确定传递的字符串是否真的是一个数字,因为没有特殊的错误“返回”。它只处理十进制值(基数10),因此无法像strtol
一样处理任意进制。此外,它也无法处理超过有符号整数的值(在大多数平台上为32位)。
strtol()
函数。
atoi()
。然而,虽然我看到了一些关于如何使用atoi()
的问题,这些问题解释了为什么不要使用它,但我还没有找到这个直接的问题,我觉得将问题和答案正确地链接在一起会很有用。 - This isn't my real nameatoi()
”的问题,但我没有找到这样的问题。我发现很多关于如何使用atoi()
的问题,基本上都被回答为“不要使用它,原因在这里”,但我认为为什么不使用atoi()
这个问题值得另外提出来。由于这个问题现在被标记为我正在寻找但没有找到的那个问题的重复,我找到了我想要的,并且感到满意。 - This isn't my real nameatoi
,而要使用strtol
”的人群中令人烦恼的另一件事是,如何正确使用strtol
显然很难。到目前为止,这里的回答都没有解释这一点。我会尝试找到至少一个其他问题的链接,在那里可以找到答案。 - Steve Summit