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)
representation 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
e
or
E
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
0,
hexadecimal if they begin with
0x
or
0X,
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
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
/sys/src/libc/port
SEE
fscanf(2)
DIAGNOSTICS
Zero is returned if the beginning of the input string is not
interpretable as a number; even in this case,
rptr
will be updated.