2010-05-26 11 views
53

En el lenguaje C, ¿de dónde salieron con el nombre atoi para convertir una cadena en un número entero? Lo único que se me ocurre es Array To Integer para un acrónimo, pero eso realmente no tiene sentido.¿De dónde vino el nombre `atoi`?

+9

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. –

+8

Guau, si esta no es una pregunta LMGTFY, entonces soy una papa. – tylerl

+2

¿Qué es una papa? – ELLIOTTCABLE

Respuesta

109

Significa Ascii a Entero. Del mismo modo, puede tener atol para Ascii a Long, atof para Ascii a Float, etc.

A Google search for 'atoi "ascii to integer"' lo confirma en varias páginas.

estoy teniendo problemas para encontrar cualquier oficial fuente en él ... pero en this listing of man pages de Third Edition Unix (1973) recogido por el propio Dennis Ritchie, contiene la línea:

atoi(III): convert ASCII to integer

De hecho, incluso las páginas del manual first edition Unix (ca 1971)list atoi as meaning Ascii to Integer.

Así que incluso si no hay ninguna documentación más oficial que las páginas de manual que indican que atoi significa ASCII a entero (I sospechoso existe y simplemente no han sido capaces de localizarlo), que ha sido ASCII a entero por convenio al menos desde 1971.

+2

Ah, por supuesto, un acrónimo no estándar 'AsciiTOInteger'. ¿Quién nombra estas cosas? Lo que es peor es que no hay una función 'itoa' estándar para el reverso, solo' sprintf' – Earlz

+1

¿El Manual Unix de la Versión 7 de 1979 cuenta como fuente oficial? http://cm.bell-labs.com/7thEdMan/vol1/man3.bun – msw

+1

Supongo que las páginas man son tan oficiales como sea posible. Esperaba que fuera declarado en uno de los estándares, al menos, pero no está en el proyecto de norma C99 que tengo ... –

-1

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

+1

Esto no proporciona una respuesta a la pregunta. Puede [buscar preguntas similares] (// stackoverflow.com/search), 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 nueva pregunta] (// stackoverflow.com/questions/ask), e incluya un enlace a este para ayudar a proporcionar el contexto. Ver: [Hacer preguntas, obtener respuestas, sin distracciones] (// stackoverflow.com/tour) –

+0

Explique cuál es el valor agregado de esta respuesta en comparación con la más antigua y actualizada, que comienza con exactamente la misma información y luego continúa explicando con referencias aparentemente muy aplicables. Intenta evitar la impresión de que acabas de copiar el contenido principal con la esperanza de votos favorables sobre tu respuesta.Como nota al margen, ¿qué significa "penosamente" y cómo aplica ese término a esta situación? – Yunnosch

Cuestiones relacionadas