Namespaces
Variants

std:: iswdigit

From ko.cppreference.net
헤더 파일에 정의됨 <cwctype>
int iswdigit ( wint_t ch ) ;

주어진 와이드 문자가 (좁혀질 경우) 열 개의 십진수 숫자 문자 중 하나에 해당하는지 확인합니다 0123456789 .

ch 값이 wchar_t 로 표현 가능하지도 않고 매크로 WEOF 값과 같지도 않으면, 동작은 정의되지 않습니다.

목차

매개변수

ch - 와이드 문자

반환값

와이드 문자가 숫자 문자인 경우 0이 아닌 값, 그렇지 않은 경우 0입니다.

참고 사항

std::iswdigit 와 std::iswxdigit 는 현재 설치된 C 로캘의 영향을 받지 않는 유일한 표준 와이드 문자 분류 함수들입니다.

예제

일부 로캘은 ASCII가 아닌 숫자를 감지하는 추가 문자 클래스를 제공합니다.

#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 3
    wchar_t u3 = L'三'; // the CJK numeral 3
    wchar_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);
}

가능한 출력:

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

참고 항목

로캘에 의해 숫자로 분류되는 문자인지 확인합니다
(함수 템플릿)
문자가 숫자인지 확인합니다
(함수)
C 문서 for iswdigit
ASCII 값 문자

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

십진법 16진법 8진법
0–8 \x0 – \x8 \0 – \10 제어 코드 ( NUL 등) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 탭 ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA – \xD \12 – \15 공백 문자 ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE – \x1F \16 – \37 제어 코드 ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 공백 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 – \x2F \41 – \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 – \x39 \60 – \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A – \x40 \72 – \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 – \x46 \101 – \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 – \x5A \107 – \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B – \x60 \133 – \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 – \x66 \141 – \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 – \x7A \147 – \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B – \x7E \172 – \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 백스페이스 문자 ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0