Az atoi ( ASCII to integer) függvény a C programozási nyelvben arra szolgál , hogy egy karakterláncot numerikus formává alakítson (konvertáljon).
int atoi(const char *str)Az argumentum stregy karaktertömbként ábrázolt karakterláncot jelent, amely egy előjeles egész szám (típusú ) karaktereit tartalmazza int. A karakterláncnak null-végűnek kell lennie, azaz "\0" karakterrel kell végződnie. Ha atoi()numerikus sorozatok nélküli karakterláncot adunk meg, akkor ebben az esetben nullát (0) ad vissza. A karakterláncnak vagy közvetlenül numerikus sorozattal kell kezdődnie, vagy szóköz karakterek kombinációjával kell kezdődnie. Egy numerikus sorozat feldolgozása után a karakterlánc bármely nem numerikus maradékát (ha van) figyelmen kívül hagyja. Ha a sztring a 0-t reprezentáló érvényes számjegysorozatot tartalmazza, akkor 0-t is visszaküld, és a visszaadott számból nem lehet megállapítani, hogy a karakterlánc tartalmaz-e érvényes számot vagy sem. Az újabb strtol függvénynek nincs ilyen hátránya, ezért érdemes olyan esetekben használni, amikor kritikus. Ezzel szemben az atoi a párbeszédpanelekből származó értékek feldolgozásakor lehetővé teszi olyan mezők beállítását, mint például "adja meg az olvasási hiba esetén az újrapróbálkozások számát", és alapértelmezés szerint nem numerikus értékkel tölti ki őket, hanem egy intuitívabb szöveges értékkel, mint pl. "kihagyja a hibákat újrapróbálkozás nélkül", ami "0 újrapróbálkozásként" lesz értelmezve a programozó szükségtelen lépései nélkül.
Az atoi függvény változatai , atol , atof és atoll (későbbi nevén atoq ) arra szolgálnak, hogy egy karakterláncot adjunk át a long, doubleilletve a -be long long:
long atol(const char *str) double atof(const char *str) long long atoll(const char *str)( C99 )Az atoi , atof és atol függvények a C89 Standard C Library (ISO) részét képezik, az atoll függvény pedig a C99 szabványba került .