“ atoi”这个名字是从哪里来的?


86

在C语言中,他们从哪里想到了atoi将字符串转换为整数的名称?我唯一能想到的是Array To Integer(缩写为数组到整数),但这实际上没有任何意义。


12
多年以来,我一直读这句话,好像它是法语中的一个单词,发音为“ ah-twah”,从未考虑过它的出处。当我第一次听到有人把它读为“大眼睛”时,我感到困惑。然后一切都变得有意义。
本·佐托

Answers:


155

这意味着从Ascii到Integer。同样,您可以将atolAscii转换为Long,atof将Ascii转换为Float,等等。

Google搜索“ atoi“ ascii to integer”“可以在几页上确认这一点。

我无法找到任何官方上源...但在手册页此房源三版的Unix(1973年)由丹尼斯里奇自己收集的,它不包含该行:

atoi(III): convert ASCII to integer

实际上,即使是第一版的Unix(大约是1971年)手册页也atoiAscii转换为Integer

因此,即使没有比手册页更正式的文档表明这atoi意味着从Ascii到Integer(我怀疑有,并且我一直没有找到它),但从1971年开始,按照惯例,这一直是从Ascii到Integer 。


5
当然是非标准的缩写AsciiTOInteger。谁命名这些东西!更糟糕的是,没有标准itoa功能可以逆转,只有sprintf
Earlz 2010年

1
1979年版本7 Unix手册是否可以算作官方资料?cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw

1
我猜该手册页是官方的。我期望至少在其中一种标准中声明它,但我没有在C99草案标准中声明……
Mark Rushakoff 2010年

8
@Earlz-当链接器每个标识符仅支持六个有效字符时,这些东西便被命名。去阅读您的历史,不要那么狡猾。
Heath Hunnicutt 2010年

1
当时的名字不正确,因为C一击IBM机器,他们的函数实现就将EBCDIC转换为整数:-)
Steve Jessop 2012年

-2

我悲痛地认为,函数atoi意味着将ascii转换为整数。


1
这不能为问题提供答案。您可以搜索类似的问题,或参考页面右侧的相关和链接的问题以找到答案。如果您有一个相关但不同的问题,请提出一个新问题,并包括指向该问题的链接以帮助提供上下文。请参阅:提问,获取答案,不要分心
Filnor

2
请先解释一下此答案的附加值,然后再解释更老的答案,后者从完全相同的信息开始,然后继续使用显然非常适用的参考资料进行解释。尽量避免产生这样的印象,即您只是复制了主要内容,希望对您的答案有所评价。附带说明一下,“严重”的含义是什么,您如何将该术语应用于这种情况?
Yunnosch
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.