ATOI(10.2) ATOI(10.2)
NAME
atoi, atol, charstod, strtod, strtol, strtoul, strtoll - convert text
to numbers
SYNOPSIS
int atoi(char *nptr)
long atol(char *nptr)
double charstod(int (*f)(void *), void *a)
double strtod(char *nptr, char **rptr)
long strtol(char *nptr, char **rptr, int base)
ulong strtoul(char *nptr, char **rptr, int base)
vlong strtoll(char *nptr, char **rptr, int base)
DESCRIPTION
Atoi and atol convert a string pointed to by nptr to integer, and long
integer representation respectively. The first unrecognized character
ends the string. Leading C escapes are understood, as in strtol with
base zero.
Atoi and atol recognize an optional string of tabs and spaces, then an
optional sign, then a string of decimal digits.
Strtod, strtol, strtoul, and strtoll behave similarly to atol and, if
rptr is not zero, set *rptr to point to the input character immediately
after the string converted.
Strtod recognizes an optional string of tabs and spaces, then an
optional sign, then a string of digits optionally containing a decimal
point, then an optional or followed by an optionally signed integer.
Strtol, strtoul and strtoll interpret the digit string in the specified
base, from 2 to 36, each digit being less than the base. Digits with
value over 9 are represented by letters, a-z or A-Z. If base is 0, the
input is interpreted as an integral constant in the style of C (with no
suffixed type indicators): numbers are octal if they begin with hexa‐
decimal if they begin with or otherwise decimal. Strtoul does not rec‐
ognize signs.
Charstod interprets floating point numbers in the same syntax as str‐
tod, but it gets successive characters by calling (*f)(a). The last
call to f terminates the scan, so it must have returned a character
that is not a legal continuation of a number. Therefore, it may be
necessary to back up the input stream one character after calling
charstod.
SOURCE
/libkern/atol.c
/libkern/charstod.c
/libkern/strtod.c
/libkern/strtol.c
/libkern/strtoul.c
/libkern/utils.c
DIAGNOSTICS
Zero is returned if the beginning of the input string is not inter‐
pretable as a number; even in this case, rptr will be updated.
ATOI(10.2)