double
strtod(
const char * restrict nptr
, char ** restrict endptr
)
float
strtof(
const char * restrict nptr
, char ** restrict endptr
)
long
double
strtold(
const char * restrict nptr
, char ** restrict endptr
)
)
function converts the initial portion of the string
pointed to by
nptr
to
double
representation.
The
strtof()
function converts the initial portion of the string
pointed to by
nptr
to
float
representation.
The
strtold()
function converts the initial portion of the string
pointed to by
nptr
to
long double
representation.
The expected form of the string is an optional plus (`+') or minus sign (`-') followed by one of the following:
INF
or
INFINITY
,
ignoring case.
NAN
or
NAN(n-char-sequence-opt)
,
ignoring case.
This implementation currently does not interpret such a sequence.
Leading white-space characters in the string (as defined by the isspace(3) function) are skipped.
),
strtof(
),
and
strtold(
)
functions return the converted value, if any.
A character sequence
INF
or
INFINITY
is converted to ,
if supported, else to the largest finite floating-point number representable
on the machine (i.e.,
VAX).
A character sequence
NAN
or
NAN(n-char-sequence-opt)
is converted to a quiet , if supported, else remains unrecognized (i.e.,
VAX).
If
endptr
is not
NULL
,
a pointer to the character after the last character used
in the conversion is stored in the location referenced by
endptr
.
If no conversion is performed, zero is returned and the value of
nptr
is stored in the location referenced by
endptr
.
If the correct value would cause overflow, plus or minus
HUGE_VAL
,
HUGE_VALF
,
or
HUGE_VALL
is returned (according to the return type and sign of the value), and
ERANGE
is stored in
errno.
If the correct value would cause underflow, zero is
returned and
ERANGE
is stored in
errno.
ERANGE
]
)
function
conforms to
ANSI X3.159-1989 (``ANSI C89'') .
The
strtof(
)
and
strtold(
)
functions conform to
ISO/IEC 9899:1999 (``ISO C99'') .
)
and
strtold(
)
functions appeared in
NetBSD4.0.