Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::iswdigit

      From cppreference.com
      <cpp‎ |string‎ |wide
       
       
       
       
      Defined in header<cwctype>
      int iswdigit( wint_t ch);

      Checks if the given wide character corresponds (if narrowed) to one of the ten decimal digit characters0123456789.

      If the value ofch is neither representable as awchar_t nor equal to the value of the macroWEOF, the behavior is undefined.

      Contents

      [edit]Parameters

      ch - wide character

      [edit]Return value

      Non-zero value if the wide character is a numeric character, zero otherwise.

      [edit]Notes

      std::iswdigit andstd::iswxdigit are the only standard wide character classification functions that are not affected by the currently installed C locale.

      [edit]Example

      Some locales offer additional character classes that detect non-ASCII digits

      Run this code
      #include <clocale>#include <cwctype>#include <iostream> void test(wchar_t a3,wchar_t u3,wchar_t j3){std::wcout<<std::boolalpha<<"\t   '"<< a3<<"'   '"<< u3<<"'  '"<< j3<<"'\n"<<"iswdigit: "<<(bool)std::iswdigit(a3)<<"  "<<(bool)std::iswdigit(u3)<<" "<<(bool)std::iswdigit(j3)<<'\n'<<"jdigit:   "<<(bool)std::iswctype(a3,std::wctype("jdigit"))<<' '<<(bool)std::iswctype(u3,std::wctype("jdigit"))<<' '<<(bool)std::iswctype(j3,std::wctype("jdigit"))<<'\n';} int main(){wchar_t a3= L'3';// the ASCII digit 3wchar_t u3= L'三';// the CJK numeral 3wchar_t j3= L'3';// the full-width digit 3 std::setlocale(LC_ALL,"en_US.utf8");std::wcout<<"In American locale:\n";    test(a3, u3, j3); std::wcout<<"\nIn Japanese locale:\n";std::setlocale(LC_ALL,"ja_JP.utf8");    test(a3, u3, j3);}

      Possible output:

      In American locale:           '3'   '三'  '3'iswdigit: true  false falsejdigit:   false false false In Japanese locale:           '3'   '三'  '3'iswdigit: true  false falsejdigit:   false false true

      [edit]See also

      checks if a character is classified as a digit by a locale
      (function template)[edit]
      checks if a character is a digit
      (function)[edit]
      C documentation foriswdigit
      ASCII valuescharacters

      iscntrl
      iswcntrl

      isprint
      iswprint

      isspace
      iswspace

      isblank
      iswblank

      isgraph
      iswgraph

      ispunct
      iswpunct

      isalnum
      iswalnum

      isalpha
      iswalpha

      isupper
      iswupper

      islower
      iswlower

      isdigit
      iswdigit

      isxdigit
      iswxdigit

      decimalhexadecimaloctal
      0–8\x0\x8\0\10control codes (NUL, etc.)≠000000000000
      9\x9\11tab (\t)≠00≠0≠000000000
      10–13\xA\xD\12\15whitespaces (\n,\v,\f,\r)≠00≠0000000000
      14–31\xE\x1F\16\37control codes≠000000000000
      32\x20\40space0≠0≠0≠000000000
      33–47\x21\x2F\41\57!"#$%&'()*+,-./0≠000≠0≠0000000
      48–57\x30\x39\60\7101234567890≠000≠00≠0000≠0≠0
      58–64\x3A\x40\72\100:;<=>?@0≠000≠0≠0000000
      65–70\x41\x46\101\106ABCDEF0≠000≠00≠0≠0≠000≠0
      71–90\x47\x5A\107\132GHIJKLMNOP
      QRSTUVWXYZ
      0≠000≠00≠0≠0≠0000
      91–96\x5B\x60\133\140[\]^_`0≠000≠0≠0000000
      97–102\x61\x66\141\146abcdef0≠000≠00≠0≠00≠00≠0
      103–122\x67\x7A\147\172ghijklmnop
      qrstuvwxyz
      0≠000≠00≠0≠00≠000
      123–126\x7B\x7E\172\176{|}~0≠000≠0≠0000000
      127\x7F\177backspace character (DEL)≠000000000000
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/string/wide/iswdigit&oldid=148871"

      [8]ページ先頭

      ©2009-2025 Movatter.jp