Convert a wide-character string into a double, float, or long double
#include <wchar.h> double wcstod( const wchar_t * ptr, wchar_t ** endptr ); float wcstof( const wchar_t * ptr, wchar ** endptr ); long double wcstold( const wchar_t * ptr, wchar ** endptr );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
These functions convert a wide-character string to a number:
These functions recognize strings containing the following:
The functions expect the string to have a plus or minus sign, followed by one of these forms:
The value is correctly rounded if the subject is hexadecimal and FLT_RADIX is 2.
The radix character is locale specific, depending upon LC_NUMERIC.
The conversion ends at the first unrecognized character. If endptr isn't NULL, a pointer to the unrecognized wide character is stored in the object endptr points to.
The converted value. If the correct value would cause overflow, plus or minus HUGE_VAL is returned according to the sign, and errno is set to ERANGE. If the correct value would cause underflow, then zero is returned, and errno is set to ERANGE.
Zero is returned when the input string can't be converted. When an error occurs, errno indicates the error detected.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |