D'où vient le nom «atoi»?

86

Dans le langage C, où ont-ils trouvé le nom atoipour convertir une chaîne en entier? La seule chose à laquelle je peux penser est Array To Integer pour un acronyme, mais cela n'a pas vraiment de sens.

Earlz
la source
12
Pendant de nombreuses années, j'ai toujours lu ceci comme si c'était un mot en français, prononcé comme "ah-twah" et jamais considéré sa provenance. J'ai été déconcerté quand j'ai entendu quelqu'un pour la première fois le lire comme "ay-too-eye". Et puis tout cela avait du sens.
Ben Zotto

Réponses:

155

Cela signifie Ascii à Integer. De même, vous pouvez avoir atolpour Ascii à Long, atofpour Ascii à Float, etc.

Une recherche Google sur 'atoi "ascii to integer"' le confirme sur plusieurs pages.

J'ai du mal à trouver une source officielle à ce sujet ... mais dans cette liste de pages de manuel de Third Edition Unix (1973) collectées par Dennis Ritchie lui-même, elle contient la ligne:

atoi(III): convert ASCII to integer

En fait, même la première édition Unix (ca 1971) pages homme liste atoicomme signifiant ascii entier .

Donc, même s'il n'y a pas de documentation plus officielle que les pages de manuel indiquant que cela atoisignifie Ascii to Integer (je soupçonne qu'il y en a et je n'ai tout simplement pas été en mesure de le localiser), c'est Ascii to Integer par convention au moins depuis 1971.

Mark Rushakoff
la source
5
Ah bien sûr un acronyme non standard AsciiTOInteger. Qui nomme ces choses!? Pire encore, il n'y a pas de itoafonction standard pour l'inverse, seulementsprintf
Earlz
1
Le manuel Unix de la version 7 de 1979 est-il considéré comme une source officielle? cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw
1
Je suppose que les pages de manuel sont aussi officielles que possible. Je m'attendais à ce qu'il soit déclaré dans l'une des normes, au moins, mais ce n'est pas dans le projet de norme C99 que j'ai ...
Mark Rushakoff
8
@Earlz - Ces choses ont été nommées lorsque les éditeurs de liens ne supportaient que six caractères significatifs par identifiant. Allez lire votre histoire et ne soyez pas si sournois.
Heath Hunnicutt
1
Mal nommé alors, puisque dès que C a frappé les machines IBM, leurs implémentations de la fonction auraient converti EBCDIC en entier :-)
Steve Jessop
-2

Je crois tristement que la fonction atoi signifie ascii à entier.

prcke
la source
1
Cela ne répond pas à la question. Vous pouvez rechercher des questions similaires ou vous référer aux questions associées et liées sur le côté droit de la page pour trouver une réponse. Si vous avez une question connexe mais différente, posez une nouvelle question et incluez un lien vers celle-ci pour vous aider à fournir un contexte. Voir: Posez des questions, obtenez des réponses, pas de distractions
Filnor
2
Veuillez expliquer quelle est la valeur ajoutée de cette réponse par rapport à la réponse beaucoup plus ancienne et votée qui commence avec exactement les mêmes informations et continue ensuite avec des références apparemment très applicables. Essayez d'éviter l'impression que vous venez de copier le contenu principal dans l'espoir d'obtenir des votes positifs sur votre réponse. En passant, que signifie «triste» et comment appliquez-vous ce terme à cette situation?
Yunnosch