wcstod(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

wcstod(3c)

wcstod(3C)               Standard C Library Functions               wcstod(3C)

NAME
       wcstod,  wcstof,  wcstold, wstod, watof - convert wide character string
       to floating-point number

SYNOPSIS
       #include <wchar.h>

       double wcstod(const wchar_t *restrict nptr,
            wchar_t **restrict endptr);


       float wcstof(const wchar_t *restrict nptr,
            wchar_t **restrict endptr);


       long double wcstold(const wchar_t *restrict nptr,
            wchar_t **restrict endptr);


       double wstod(const wchar_t *nptr, wchar_t **endptr);


       double watof(wchar_t *nptr);

DESCRIPTION
       The wcstod(), wcstof(), and wcstold()  functions  convert  the  initial
       portion  of  the  wide-character  string  pointed to by nptr to double,
       float, and long double representation, respectively. They first  decom‐
       pose the input wide-character string into three parts:

           1.     An  initial,  possibly  empty, sequence of white-space wide-
                  character codes (as specified by iswspace(3C))


           2.     A subject sequence interpreted as a floating-point  constant
                  or representing infinity or NaN


           3.     A  final  wide-character  string of one or more unrecognized
                  wide-character codes, including the terminating  null  wide-
                  character code of the input wide-character string.




       Then  they  attempt to convert the subject sequence to a floating-point
       number, and return the result.


       The expected form of the subject sequence is an optional plus or  minus
       sign, then one of the following:

           o      A non-empty sequence of decimal digits optionally containing
                  a radix character, then an optional exponent part


           o      A  0x or 0X, then a non-empty sequence of hexadecimal digits
                  optionally containing a radix character,  then  an  optional
                  binary exponent part


           o      One  of INF or INFINITY, or any other wide string equivalent
                  except for case


           o      One of NAN or NAN(n-wchar-sequence(opt)), or any other  wide
                  string ignoring case in the NAN part, where:

                    n-wchar-sequence:
                        digit
                        nondigit
                        n-wchar-sequence digit
                        n-wchar-sequence nondigit




       In   default   mode  for  wcstod(),  only  decimal,  INF/INFINITY,  and
       NAN/NAN(n-char-sequence) forms are recognized. In C99/SUSv3 mode, hexa‐
       decimal strings are also recognized.


       In default mode for wcstod(), the n-char-sequence in the NAN(n-char-se‐
       quence) form can contain any character except ')'  (right  parenthesis)
       or '\0' (null). In C99/SUSv3 mode, the n-char-sequence can contain only
       upper and lowercase letters, digits, and '_' (underscore).


       The  wcstof() and wcstold() functions always function in C99/SUSv3-con‐
       formant mode.


       The subject sequence is defined as the longest initial  subsequence  of
       the  input  wide  string,  starting with the first non-white-space wide
       character, that is of the expected form. The subject sequence  contains
       no  wide  characters  if  the  input wide string is not of the expected
       form.


       If the subject sequence has the expected form for a floating-point num‐
       ber, the sequence of wide characters starting with the first  digit  or
       the radix character (whichever occurs first) is interpreted as a float‐
       ing  constant according to the rules of the C language, except that the
       radix character is used in place of a period, and that  if  neither  an
       exponent part nor a radix character appears in a decimal floating-point
       number,  or  if a binary exponent part does not appear in a hexadecimal
       floating-point number, an exponent part of the  appropriate  type  with
       value  zero  is  assumed to follow the last digit in the string. If the
       subject sequence begins with a minus sign, the sequence is  interpreted
       as negated. A wide-character sequence INF or INFINITY is interpreted as
       an   infinity.   A   wide-character  sequence  NAN  or  NAN(n-wchar-se‐
       quence(opt)) is interpreted as a quiet NaN. A pointer to the final wide
       string is stored in the object pointed  to  by  endptr,  provided  that
       endptr is not a null pointer.


       If the subject sequence has either the decimal or hexadecimal form, the
       value  resulting  from the conversion is rounded correctly according to
       the prevailing floating-point rounding direction mode.  The  conversion
       also  raises  floating-point inexact, underflow, or overflow exceptions
       as appropriate.


       The radix character is defined in the program's locale (category LC_NU‐
       MERIC). In the POSIX locale, or in a locale where the  radix  character
       is not defined, the radix character defaults to a period ('.').


       If the subject sequence is empty or does not have the expected form, no
       conversion  is  performed;  the  value  of nptr is stored in the object
       pointed to by endptr, provided that endptr is not a null pointer.


       The wcstod() function does not change the setting of errno if  success‐
       ful.


       The wstod() function is identical to wcstod().


       The watof(str) function is equivalent to wstod(nptr, (wchar_t **)NULL).

RETURN VALUES
       Upon successful completion, these functions return the converted value.
       If no conversion could be performed, 0 is returned.


       If  the  correct  value  is  outside the range of representable values,
       ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL is returned (according to the sign
       of the value), a floating-point overflow exception is raised, and errno
       is set to ERANGE.


       If the correct value would cause an underflow,  the  correctly  rounded
       result  (which may be normal, subnormal, or zero) is returned, a float‐
       ing-point underflow exception is raised, and errno is set to ERANGE.

ERRORS
       The wcstod() and wstod() functions will fail if:

       ERANGE    The value to be returned would cause overflow or underflow.



       The wcstod() and wcstod() functions may fail if:

       EINVAL    No conversion could be performed.


USAGE
       Because 0 is returned on error and is also a valid return  on  success,
       an  application  wishing to check for error situations should set errno
       to 0 call wcstod(), wcstof(), wcstold(), or wstod(), then  check  errno
       and if it is non-zero, assume an error has occurred.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityT{ wcstod(), wcstof(), and wcstold()
       are Standard.  T} _ MT-LevelMT-Safe


SEE ALSO
       iswspace(3C), localeconv(3C), scanf(3C), setlocale(3C), wcstol(3C), at‐
       tributes(7), standards(7)

Oracle Solaris 11.4               11 May 2021                       wcstod(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3