atof, atoff—string to double or float #include <stdlib.h>
double atof(const char *s);
float atoff(const char *s);
Description
atof converts the initial portion of a string to a double.
atoff converts the initial portion of a string to a float.
The functions parse the character string s, locating a substring which can be converted to a floating-point value. The substring must match the format:
[+|-]digits[.][digits][(e|E)[+|-]digits]
The substring converted is the longest initial
fragment of s that has the expected format, beginning with
the first non-whitespace character. The substring
is empty if str is empty, consists entirely
of whitespace, or if the first non-whitespace character is
something other than +, -, ., or a digit.
atof(s) is implemented as strtod(s, NULL).
atoff(s) is implemented as strtof(s, NULL).
Returns
atof returns the converted substring value, if any, as a
double; or 0.0, if no conversion could be performed.
If the correct value is out of the range of representable values, plus
or minus HUGE_VAL is returned, and ERANGE is stored in
errno.
If the correct value would cause underflow, 0.0 is returned
and ERANGE is stored in errno.
atoff obeys the same rules as atof, except that it
returns a float.
Portability
atof is ANSI C. atof, atoi, and atol are subsumed by strod
and strol, but are used extensively in existing code. These functions are
less reliable, but may be faster if the argument is verified to be in a valid
range.
Supporting OS subroutines required: close, fstat, isatty,
lseek, read, sbrk, write.