Funktionen atoi ( ASCII till heltal) i programmeringsspråket C används för att konvertera (konvertera) en sträng till en numerisk form.
int atoi(const char *str)Argumentet strbetyder en sträng representerad som en teckenuppsättning som innehåller tecknen i ett heltal (typ int) med tecken. Strängen måste vara nollterminerad, det vill säga den måste sluta med tecknet "\0". När atoi()den ges en sträng utan numeriska sekvenser, returnerar den noll (0) i så fall. Strängen måste börja antingen direkt med en numerisk sekvens eller med valfri kombination av blanksteg. Efter bearbetning av en numerisk sekvens ignoreras eventuell icke-numerisk rest av strängen (om någon). Om strängen innehåller en giltig sekvens av siffror som representerar talet 0, returneras också 0, och det är omöjligt att avgöra från det returnerade numret om strängen innehåller ett giltigt nummer eller inte. Den nyare strtol- funktionen har inte denna nackdel, så den bör användas i fall där den är kritisk. Däremot låter atoi, när du bearbetar värden från dialogrutor, ställa in fält som "ange antalet försök vid ett läsfel" och fylla dem som standard inte med ett numeriskt värde, utan med ett mer intuitivt textvärde som "hoppa över fel utan omförsök", vilket kommer att tolkas som "0 försök" utan onödiga åtgärder från programmeraren.
Varianter av atoi- funktionen , atol , atof och atoll (senare känd som atoq ), används för att kasta en sträng till long, doubleeller long long, respektive:
long atol(const char *str) double atof(const char *str) long long atoll(const char *str)( C99 )Funktionerna atoi , atof och atol är en del av C89 Standard C Library (ISO), och atollfunktionen lades till i C99-standarden .