Ve standardní knihovně jsou následující funkce (je tedy třeba vložit — pomocí
include — stdlib.h )
| ||||
long strtol (const char *str, char **endptr, int base);
| ||||
unsigned long strtoul (const char *str, char **endptr, int base);
| ||||
unsigned long long strtoull (const char *str, char **endptr, int base);
| ||||
long long strtoll (const char *str, char **endptr, int base);
| ||||
double strtod (const char *str, char **endptr);
| ||||
float strtof (const char *str, char **endptr);
| ||||
long double strtold (const char *str, char **endptr);
| ||||
str je adresa řetězce, který má být převeden na číslo.
| ||||
endptr je adresa, do níž se uloží posice prvního "špatného" znaku, pokud není při volání
(char **)NULL . | ||||
base je základ posiční soustavy, z které se převádí.
| ||||
Kromě chování při chybě jsou následující volání equivalentní: | ||||
atol(str)
| ≡ |
strtol(str, (char **)NULL, 10)
| ||
atoi(str)
| ≡ |
(int) strtol(str, (char **)NULL, 10)
| ||
atoll(str)
| ≡ |
strtoll(str, (char **)NULL, 10)
| ||
atof(nptr)
| ≡ |
strtod(nptr, (char **)NULL)
| ||
atold(nptr)
| ≡ |
strtold(nptr, (char **)NULL)
|