¿De dónde vino el nombre `atoi`?

86

En el lenguaje C, ¿dónde se les ocurrió el nombre atoipara convertir una cadena en un número entero? Lo único que se me ocurre es Array To Integer como acrónimo, pero eso no tiene sentido.

Earlz
fuente
12
Durante muchos años, siempre leí esto como si fuera una palabra en francés, pronunciada como "ah-twah" y nunca consideré su procedencia. Estaba desconcertado cuando escuché por primera vez a alguien leerlo como "ay-too-eye". Y luego todo tuvo sentido.
Ben Zotto

Respuestas:

155

Significa Ascii a Integer. Del mismo modo, puede tener atolpara Ascii a Long, atofpara Ascii para flotar, etc.

Una búsqueda en Google de 'atoi "ascii to integer"' confirma esto en varias páginas.

Tengo problemas para encontrar una fuente oficial sobre él ... pero en esta lista de páginas de manual de la tercera edición de Unix (1973) recopilada por el propio Dennis Ritchie, contiene la línea:

atoi(III): convert ASCII to integer

De hecho, incluso la primera edición de las páginas de manual de Unix (ca 1971) indica atoique significa Ascii a Integer .

Entonces, incluso si no hay ninguna documentación más oficial que las páginas de manual que indiquen que atoisignifica Ascii a Integer ( sospecho que la hay y no he podido ubicarla), ha sido Ascii a Integer por convención al menos desde 1971.

Mark Rushakoff
fuente
5
Ah, por supuesto, un acrónimo no estándar AsciiTOInteger. ¿¡Quién nombra estas cosas !? Peor aún es que no hay una itoafunción estándar para el reverso, solosprintf
Earlz
1
¿El manual de Unix de la versión 7 de 1979 cuenta como fuente oficial? cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw
1
Supongo que las páginas de manual son tan oficiales como parece. Esperaba que se declarara en uno de los estándares, al menos, pero no está en el borrador del estándar C99 que tengo ...
Mark Rushakoff
8
@Earlz: estas cosas se nombraron cuando los enlazadores admitían solo seis caracteres significativos por identificador. Ve a leer tu historia y no seas tan sarcástico.
Heath Hunnicutt
1
Entonces, mal nombrado, ya que tan pronto como C llegó a las máquinas IBM, sus implementaciones de la función habrían convertido EBCDIC en un entero :-)
Steve Jessop
-2

Creo con tristeza que la función atoi significa ascii a entero.

prcke
fuente
1
Esto no proporciona una respuesta a la pregunta. Puede buscar preguntas similares o consultar las preguntas relacionadas y vinculadas en el lado derecho de la página para encontrar una respuesta. Si tiene una pregunta relacionada pero diferente, haga una pregunta nueva e incluya un enlace a esta para ayudar a proporcionar contexto. Ver: Haga preguntas, obtenga respuestas, sin distracciones
Filnor
2
Explique cuál es el valor agregado de esta respuesta en comparación con la mucho más antigua y votada que comienza con exactamente la misma información y luego continúa explicando con referencias aparentemente muy aplicables. Trate de evitar la impresión de que acaba de copiar el contenido principal con la esperanza de obtener votos positivos en su respuesta. Como nota al margen, ¿qué significa "dolorosamente" y cómo aplica ese término a esta situación?
Yunnosch