Thi*_*ame 8 c
有人告诉我,我不应该使用atoi(),而且我应该总是使用strtol().这有什么错atoi(),我不应该使用它?是strtol()真的,而不是用正确的事情?(那么strtol()返回a 的事实呢long,不是int那样的atoi()吗?)
atoi()
strtol()
long
int
Sam*_*ica 21
来自您自己的链接:
atoi()函数由strtol()包含但保留,因为它在现有代码中广泛使用.如果未知该数字在范围内,则应使用strtol(),因为不需要atoi()来执行任何错误检查.
要么
atoi 已经过时了
atoi
Som*_*ude 6
由于atoi没有特殊错误“返回”,因此无法确定传递的字符串是否真的是数字。它也只处理十进制值(基数为 10),因此不能处理任意基数,例如strtol. 此外,它无法处理大于有符号整数(大多数平台上为 32 位)的值。
strtol
Shu*_*ail 5
如果字符串太大并且无法转换,则会导致未定义的行为,因为该字符串的值可能太大并且可能不在范围内。在这种情况下(未知数字是否在范围内)strtol()应使用。
归档时间:
12 年,4 月 前
查看次数:
4049 次
最近记录: