ATOF(2) System Calls Manual ATOF(2)
atof, atoi, atol, charstod, strtod, strtol, strtoul - convert text to numbers
double atof(char *nptr)
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)
/* Alef only */
int strtoi(byte *nptr, byte **rptr, int base)
uint strtoui(byte *nptr, byte **rptr, int base)
float strtof(byte *nptr, byte **rptr);
Atof, atoi, and atol convert a string pointed to by nptr to floating, integer, and long integer representation respectively. The first
unrecognized character ends the string. Leading C escapes are understood, as in strtol with base zero.
Atof 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.
Atoi and atol recognize an optional string of tabs and spaces, then an optional sign, then a string of decimal digits.
Strtod, strtol, and strtoul behave similarly to atof and atol and, if rptr is not zero, set *rptr to point to the input character immedi-
ately after the string converted.
Strtol and strtoul 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 hexadecimal if they begin with or otherwise decimal. Strtoul does not rec-
Charstod interprets floating point numbers like atof, 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.
The routines strtol and strtoul are renamed strtoi and strtoui and return type int and uint. There is no charstod or atof. Instead,
strtof is like a floating-point base 10 strtoi.
Zero is returned if the beginning of the input string is not interpretable as a number; even in this case, rptr will be updated.
These routines set errstr.
Atoi and atol accept octal and hexadecimal numbers in the style of C, contrary to the ANSI specification.