ATOF(2)ATOF(2)NAME
atof, atoi, atol, atoll, charstod, strtod, strtol, strtoll, strtoul,
strtoull - convert text to numbers
SYNOPSIS
#include <u.h>
#include <libc.h>
double atof(char *nptr)
int atoi(char *nptr)
long atol(char *nptr)
vlong atoll(char *nptr)
double charstod(int (*f)(void *), void *a)
double strtod(char *nptr, char **rptr)
long strtol(char *nptr, char **rptr, int base)
vlong strtoll(char *nptr, char **rptr, int base)
ulong strtoul(char *nptr, char **rptr, int base)
uvlong strtoull(char *nptr, char **rptr, int base)
DESCRIPTION
Atof, atoi, atol, and atoll convert a string pointed to by nptr to
floating, integer, long integer, and long long integer (vlong) repre‐
sentation respectively. The first unrecognized character ends the
string. Leading C escapes are understood, as in strtol with base zero
(described below).
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, strtoll, strtoul, and strtoull behave similarly to atof
and atol and, if rptr is not zero, set *rptr to point to the input
character immediately after the string converted.
Strtol, strtoll, strtoul, and strtoull 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.
Charstod interprets floating point numbers in the manner of atof, but
gets successive characters by calling (*f)(a). The last call to f ter‐
minates 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
/sys/src/libc/port
SEE ALSOfscanf(2)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.
BUGS
Atoi, atol, and atoll accept octal and hexadecimal numbers in the style
of C, contrary to the ANSI specification.
ATOF(2)