Da dove viene il nome "atoi"?


86

Nel linguaggio C dove è venuto fuori il nome atoiper convertire una stringa in un numero intero? L'unica cosa a cui riesco a pensare è Array To Integer per un acronimo, ma non ha davvero senso.


12
Per molti anni l'ho sempre letto come se fosse una parola in francese, pronunciata come "ah-twah" e non ho mai considerato la sua provenienza. Sono rimasto sconcertato quando ho sentito per la prima volta qualcuno leggerlo come "ay-too-eye". E poi tutto aveva un senso.
Ben Zotto

Risposte:


155

Significa Ascii a Integer. Allo stesso modo, puoi avere atolAscii su Long, atofAscii su Float, ecc.

Una ricerca su Google per "atoi" ascii to integer "" lo conferma in diverse pagine.

Ho problemi a trovare una fonte ufficiale su di esso ... ma in questo elenco di pagine man di Third Edition Unix (1973) raccolte da Dennis Ritchie stesso, contiene la riga:

atoi(III): convert ASCII to integer

Infatti, anche la prima edizione delle pagine man di Unix (ca 1971) elenca atoicome significato da Ascii a Integer .

Quindi, anche se non c'è documentazione più ufficiale delle pagine di manuale che indichi che atoisignifica Ascii a Integer ( sospetto che ci sia e non sono stato in grado di individuarlo), è stato Ascii a Integer per convenzione almeno dal 1971.


5
Ah ovviamente un acronimo non standard AsciiTOInteger. Chi nomina queste cose !? Ancora peggio è che non esiste una itoafunzione standard per il contrario, solosprintf
Earlz

1
Il manuale Unix versione 7 del 1979 conta come una fonte ufficiale? cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw

1
Immagino che le pagine man siano tanto ufficiali quanto sembra. Mi aspettavo che fosse dichiarato in uno degli standard, almeno, ma non è nella bozza di standard C99 che ho ...
Mark Rushakoff

9
@Earlz - Queste cose venivano nominate quando i linker supportavano solo sei caratteri significativi per identificatore. Vai a leggere la tua storia e non essere così irriverente.
Heath Hunnicutt

1
Chiamato erroneamente quindi, poiché non appena C ha colpito le macchine IBM, le loro implementazioni della funzione avrebbero convertito EBCDIC in intero :-)
Steve Jessop

-3

Credo che la funzione atoi significhi da ascii a intero.


1
Questo non fornisce una risposta alla domanda. Puoi cercare domande simili o fare riferimento alle domande correlate e collegate sul lato destro della pagina per trovare una risposta. Se hai una domanda correlata ma diversa, fai una nuova domanda e includi un collegamento a questa per contribuire a fornire il contesto. Vedi: Poni domande, ottieni risposte, niente distrazioni
Filnor

3
Per favore, spiega qual è il valore aggiunto di questa risposta rispetto a quella molto più vecchia e votata che inizia esattamente con le stesse informazioni e poi continua a spiegare con riferimenti apparentemente molto applicabili. Cerca di evitare l'impressione di aver appena copiato il contenuto principale nella speranza di ricevere voti positivi sulla tua risposta. Come nota a margine cosa significa "griefly" e come applichi questo termine a questa situazione?
Yunnosch
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.