This question already has answers here:
Closed 2 years ago.
Where did the name `atoi` come from?
(2个答案)
有人知道将字符串转换为长字符串的函数atol的名称的来源吗?
我考虑了很久,但听起来不是真的。
(2个答案)
有人知道将字符串转换为长字符串的函数atol的名称的来源吗?
我考虑了很久,但听起来不是真的。
最佳答案
ASCII To Long是atol(3)
的意思(在Unix的早期,ASCII只被使用,而IIRC在K&R book中被提到)
今天我们通常使用UTF-8 everywhere,但是atol
仍然有效(因为UTF-8对于数字使用的编码与ASCII相同)
在使用另一种编码(例如EBCDIC)atol
的C实现上,仍然应该做预期的事情(因此atol("345")
将给出345),因为C标准要求数字字符的编码是连续的。它的实现可能更复杂(或特定于编码)。
所以今天,atol
名称不再指ASCII。C11标准没有提到ASCII(作为强制性的)IIRC。您可以通过将atol
读为long来重写历史,即使历史上它是ASCII到long。
10-07 19:07