Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      wcstof, wcstod, wcstold

      From cppreference.com
      <c‎ |string‎ |wide
       
       
       
      Null-terminated wide strings
       
      Defined in header<wchar.h>
      float       wcstof(constwchar_t*restrict str,wchar_t**restrict str_end);
      (since C99)
      double      wcstod(constwchar_t* str,wchar_t** str_end);
      (since C95)
      (until C99)
      double      wcstod(constwchar_t*restrict str,wchar_t**restrict str_end);
      (since C99)
      longdouble wcstold(constwchar_t*restrict str,wchar_t**restrict str_end);
      (since C99)

      Interprets a floating-point value in a wide string pointed to bystr.

      Function discards any whitespace characters (as determined byiswspace) until first non-whitespace character is found. Then it takes as many characters as possible to form a valid floating-point representation and converts them to a floating-point value. The valid floating-point value can be one of the following:

      • decimal floating-point expression. It consists of the following parts:
      • (optional) plus or minus sign
      • nonempty sequence of decimal digits optionally containing decimal-point character (as determined by the current Clocale) (defines significand)
      • (optional)e orE followed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent to base10)
      • hexadecimal floating-point expression. It consists of the following parts:
      • (optional) plus or minus sign
      • 0x or0X
      • nonempty sequence of hexadecimal digits optionally containing a decimal-point character (as determined by the current Clocale) (defines significand)
      • (optional)p orP followed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent to base2)
      • infinity expression. It consists of the following parts:
      • (optional) plus or minus sign
      • INF orINFINITY ignoring case
      • not-a-number expression. It consists of the following parts:
      • (optional) plus or minus sign
      • NAN orNAN(char_sequence ) ignoring case of theNAN part.char_sequence can only contain digits, Latin letters, and underscores. The result is a quiet NaN floating-point value.
      (since C99)
      • any other expression that may be accepted by the currently installed Clocale.

      The functions sets the pointer pointed to bystr_end to point to the wide character past the last character interpreted. Ifstr_end is a null pointer, it is ignored.

      Contents

      [edit]Parameters

      str - pointer to the null-terminated wide string to be interpreted
      str_end - pointer to a pointer to a wide character.

      [edit]Return value

      Floating-point value corresponding to the contents ofstr on success. If the converted value falls out of range of corresponding return type, range error occurs andHUGE_VAL,HUGE_VALF orHUGE_VALL is returned. If no conversion can be performed,0 is returned.

      [edit]Example

      Run this code
      #include <errno.h>#include <stdio.h>#include <wchar.h> int main(void){constwchar_t* p= L"111.11 -2.22 0X1.BC70A3D70A3D7P+6  1.18973e+4932zzz";printf("Parsing L\"%ls\":\n", p);wchar_t* end;for(double f= wcstod(p,&end); p!= end; f= wcstod(p,&end)){printf("'%.*ls' -> ",(int)(end-p), p);        p= end;if(errno==ERANGE){printf("range error, got ");errno=0;}printf("%f\n", f);}}

      Output:

      Parsing L"111.11 -2.22 0X1.BC70A3D70A3D7P+6  1.18973e+4932zzz":'111.11' -> 111.110000' -2.22' -> -2.220000' 0X1.BC70A3D70A3D7P+6' -> 111.110000'  1.18973e+4932' -> range error, got inf

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 7.29.4.1.1 The wcstod, wcstof, and wcstold functions (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 7.29.4.1.1 The wcstod, wcstof, and wcstold functions (p: TBD)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.29.4.1.1 The wcstod, wcstof, and wcstold functions (p: 426-428)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.24.4.1.1 The wcstod, wcstof, and wcstold functions (p: 372-374)

      [edit]See also

      converts a byte string to a floating-point value
      (function)[edit]
      C++ documentation forwcstof,wcstod,wcstold
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/string/wide/wcstof&oldid=172070"

      [8]ページ先頭

      ©2009-2025 Movatter.jp