任何人都知道将字符串转换为long的函数atol的名称来源是什么?
我想到阵列很长但对我来说听起来并不合适。
答案 0 :(得分:4)
ASCII To Long是atol(3)
的意思(在Unix的早期,ASCII仅被使用,K&R book中提到了IIRC)
今天我们通常使用UTF-8 everywhere,但atol
仍有效(因为数字的UTF-8使用与ASCII相同的编码)
使用其他编码的C实现(例如EBCDIC)atol
仍然应该按预期执行(因此atol("345")
将给出345),因为C标准要求数字编码字符是连续的。它的实现可能更复杂(或特定于编码)。
所以今天,atol
名称不再引用ASCII。 C11标准n1570不提及ASCII(作为强制性)IIRC。你可以通过阅读atol
作为任何东西来重写历史记录,即使历史它是 ASCII到long 。 < / p>
答案 1 :(得分:1)
它的Ascii很长,同样的约定用于atoi
等。