2010-05-26 17 views
53

In der C-Sprache, wo haben sie den Namen atoi für die Umwandlung einer Zeichenfolge in eine ganze Zahl? Das einzige, was mir einfällt, ist Array To Integer für ein Akronym, aber das macht keinen Sinn.Woher kam der Name `atoi`?

+9

Seit vielen Jahren lese ich immer so, als ob es ein Wort auf Französisch wäre, ausgesprochen wie "ah-twah" und nie seine Herkunft in Betracht gezogen. Ich war verblüfft, als ich das erste Mal hörte, wie jemand es als "ay-to-eye" las. Und dann ergab alles einen Sinn. –

+8

Wow, wenn das keine LMGTFY-Frage ist, dann bin ich eine Kartoffel. – tylerl

+2

Was ist eine Kartoffel? – ELLIOTTCABLE

Antwort

109

Es bedeutet Ascii zu Integer. Ebenso können Sie atol für Ascii zu lange haben, atof für Ascii Float usw.

A Google search for 'atoi "ascii to integer"' bestätigt dies auf mehreren Seiten.

Ich habe Probleme jede offiziellen Quelle auf, es zu finden ... aber in this listing of man pages von Third Edition Unix (1973) zusammengestellt von Dennis Ritchie selbst, es enthält die Zeile:

atoi(III): convert ASCII to integer

In der Tat, auch die first edition Unix (ca 1971) Manpages .

Also auch wenn es keine Dokumentation mehr als offizieller Manpages darauf hinweist, dass atoi bedeutet Ascii auf Integer (I Verdächtiger da ist und ich habe nur nicht in der Lage gewesen, es zu finden), es war Ascii zu Integer per Konvention mindestens seit 1971.

+2

Ah natürlich ein nicht standardmäßiges Akronym 'AsciiTOInteger'. Wer nennt diese Dinge? Noch schlimmer ist, gibt es keine Standard-Itoa-Funktion für den umgekehrten, nur 'sprintf' – Earlz

+1

Zählt die 1979 Version 7 Unix-Handbuch als offizielle Quelle? http://cm.bell-labs.com/7thEdMan/vol1/man3.bun – msw

+1

Ich denke die Manpages sind so offiziell wie es nur geht. Ich habe zumindest erwartet, dass es in einem der Standards erklärt wird, aber es ist nicht im C99-Entwurf, den ich habe ... –

-1

Ich glaube, dass die Funktion atoi bedeutet Ascii zu Integer.

+1

Dies liefert keine Antwort auf die Frage. Sie können [ähnliche Fragen suchen] (// stackoverflow.com/search) 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] (// stackoverflow.com/questions/ask), und fügen Sie einen Link zu diesem ein, um den Kontext zu verdeutlichen. Siehe: [Stellen Sie Fragen, erhalten Sie Antworten, keine Ablenkungen] (0) stackoverflow.com/tour –

+0

Bitte erklären Sie, was der Mehrwert dieser Antwort im Vergleich zu den viel älteren und upvoted ist, die mit genau den gleichen Informationen und beginnt dann geht es weiter mit scheinbar sehr zutreffenden Referenzen. Versuchen Sie, den Eindruck zu vermeiden, dass Sie gerade den Hauptinhalt in der Hoffnung auf Upvotes auf Ihrer Antwort kopiert haben.Als Nebenbemerkung, was "Trauer" bedeutet und wie wenden Sie diesen Begriff auf diese Situation an? – Yunnosch