Откуда взялось название «атой»?


86

Где на языке C появилось название atoiдля преобразования строки в целое число? Единственное, что я могу придумать, - это сокращение от Array To Integer, но это не имеет смысла.


12
В течение многих лет я всегда читал это как слово по-французски, произносимое как «а-тва», и никогда не рассматривал его происхождение. Я был сбит с толку, когда впервые услышал, что кто-то прочитал это как «ай-слишком-глаз». И тогда все это имело смысл.
Бен Зотто,

Ответы:


155

Это означает, что Ascii to Integer. Точно так же у вас может быть atolAscii to Long, atofAscii to Float и т. Д.

Поиск в Google по запросу 'atoi "ascii to integer" подтверждает это на нескольких страницах.

Мне трудно найти на нем какой-либо официальный источник ... но в этом списке страниц руководства из Третьего издания Unix (1973), собранном самим Деннисом Ричи, он действительно содержит строку:

atoi(III): convert ASCII to integer

Фактически, даже в первом издании Unix (около 1971 г.) man-страницы перечислены atoiкак означающие от Ascii до Integer .

Таким образом, даже если нет более официальной документации, чем страницы руководства, указывающие, что это atoiозначает Ascii to Integer (я подозреваю, что есть, и я просто не смог найти его), это было Ascii to Integer по соглашению, по крайней мере, с 1971 года.


5
Ну конечно же нестандартная аббревиатура AsciiTOInteger. Кто называет эти вещи !? Хуже того, нет стандартной itoaфункции для реверса, толькоsprintf
Earlz

1
Считается ли Руководство Unix Версии 7 1979 года официальным источником? cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw

1
Думаю, страницы руководства настолько официальны, насколько это возможно. Я ожидал, что это будет заявлено хотя бы в одном из стандартов, но этого нет в проекте стандарта C99, который у меня есть ...
Марк Рушаков,

8
@Earlz - эти вещи были названы, когда компоновщики поддерживали только шесть значащих символов на идентификатор. Иди читай свою историю и не будь таким язвительным.
Хит Ханникатт,

1
Неправильно названо тогда, поскольку, как только C ударит по машинам IBM, их реализации функции преобразовали бы EBCDIC в целое число :-)
Стив Джессоп

-2

Я с сожалением считаю, что функция atoi означает ascii для целого числа.


1
Это не дает ответа на вопрос. Вы можете искать похожие вопросы или обращаться к связанным и связанным вопросам в правой части страницы, чтобы найти ответ. Если у вас есть связанный, но другой вопрос, задайте новый вопрос и включите ссылку на него, чтобы лучше понять контекст. См .: Задавайте вопросы, получайте ответы, не отвлекаясь
Филнор

2
Пожалуйста, объясните, в чем добавленная стоимость этого ответа по сравнению с гораздо более старым и получившим одобрение ответом, который начинается с точно такой же информации, а затем продолжает объяснение с явно очень применимыми ссылками. Постарайтесь избежать впечатления, что вы только что скопировали основной контент в надежде на положительные голоса за ваш ответ. В качестве примечания, что означает «грустно» и как вы примените этот термин к этой ситуации?
Юннош
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.