Woher kommt der Name "atoi"?

86

Woher haben sie in der Sprache C den Namen atoifür die Konvertierung einer Zeichenfolge in eine Ganzzahl? Das einzige, woran ich denken kann, ist Array To Integer für ein Akronym, aber das macht nicht wirklich Sinn.

Earlz
quelle
12
Viele Jahre lang las ich dies immer so, als wäre es ein Wort auf Französisch, das wie "ah-twah" ausgesprochen wurde und dessen Herkunft nie berücksichtigte. Ich war verblüfft, als ich zum ersten Mal hörte, dass jemand es als "ay-too-eye" las. Und dann machte alles Sinn.
Ben Zotto

Antworten:

155

Es bedeutet Ascii zu Integer. Ebenso können Sie atolfür Ascii zu Long, atoffür Ascii zu Float usw. haben.

Eine Google-Suche nach 'atoi "ascii to integer"' bestätigt dies auf mehreren Seiten.

Ich habe Probleme, eine offizielle Quelle dafür zu finden ... aber in dieser Liste von Manpages aus der dritten Ausgabe von Unix (1973), die von Dennis Ritchie selbst gesammelt wurde, enthält sie die folgende Zeile:

atoi(III): convert ASCII to integer

In der Tat, auch die erste Ausgabe Unix (ca 1971) man - Seiten - Liste atoials Ascii zu Integer Bedeutung .

Selbst wenn es keine offiziellere Dokumentation als Manpages gibt, die angibt, dass atoidies Ascii to Integer bedeutet (ich vermute , dass dies der Fall ist und ich es einfach nicht finden konnte), ist es zumindest seit 1971 per Konvention Ascii to Integer .

Mark Rushakoff
quelle
5
Ah natürlich ein nicht standardmäßiges Akronym AsciiTOInteger. Wer nennt diese Dinge? Noch schlimmer ist, dass es itoanur für den Rückwärtsgang keine Standardfunktion gibtsprintf
Earlz
1
Zählt das Unix-Handbuch der Version 7 von 1979 als offizielle Quelle? cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw
1
Ich denke, die Manpages sind so offiziell wie es nur geht. Ich hatte erwartet, dass es zumindest in einem der Standards deklariert wird, aber es ist nicht im C99-Standardentwurf, den ich habe ...
Mark Rushakoff
8
@Earlz - Diese Dinge wurden benannt, als Linker nur sechs signifikante Zeichen pro Bezeichner unterstützten. Lies deine Geschichte und sei nicht so bissig.
Heath Hunnicutt
1
Falsch benannt, da ihre Implementierungen der Funktion EBCDIC in eine Ganzzahl konvertiert hätten, sobald C auf IBM-Maschinen traf :-)
Steve Jessop
-2

Ich glaube traurig, dass Funktion atoi ASCII zu Integer bedeutet.

prcke
quelle
1
Dies gibt keine Antwort auf die Frage. Sie können nach ähnlichen Fragen suchen oder auf die verwandten und verknüpften Fragen auf der rechten Seite der Seite verweisen, um eine Antwort zu finden. Wenn Sie eine verwandte, aber andere Frage haben, stellen Sie eine neue Frage und fügen Sie einen Link zu dieser Frage hinzu , um den Kontext bereitzustellen. Siehe: Fragen stellen, Antworten erhalten, keine Ablenkungen
Filnor
2
Bitte erläutern Sie, welchen Mehrwert diese Antwort im Vergleich zu der viel älteren und positiv bewerteten Antwort hat, die mit genau denselben Informationen beginnt und anschließend mit anscheinend sehr zutreffenden Referenzen erklärt. Vermeiden Sie den Eindruck, dass Sie gerade den Hauptinhalt kopiert haben, in der Hoffnung, dass Ihre Antwort positiv bewertet wird. Als Randnotiz, was bedeutet "traurig" und wie wenden Sie diesen Begriff auf diese Situation an?
Yunnosch