Namespaces
Variants

iswdigit

From cppreference.net
< c ‎ | string ‎ | wide
헤더 파일에 정의됨 <wctype.h>
int iswdigit ( wint_t ch ) ;
(C95부터)

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

목차

매개변수

ch - 와이드 문자

반환값

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

참고 사항

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

예제

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

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
    printf("\t '%lc'  '%lc' '%lc'\n", a3, u3, j3);
    printf("iswdigit: %d    %d    %d\n",
           !!iswdigit(a3),
           !!iswdigit(u3),
           !!iswdigit(j3));
    printf("jdigit:   %d    %d    %d\n",
           !!iswctype(a3, wctype("jdigit")),
           !!iswctype(u3, wctype("jdigit")),
           !!iswctype(j3, wctype("jdigit")));
}
int main(void)
{
    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
    setlocale(LC_ALL, "en_US.utf8");
    puts("In American locale:");
    test(a3, u3, j3);
    setlocale(LC_ALL, "ja_JP.utf8");
    puts("\nIn Japanese locale:");
    test(a3, u3, j3);
}

가능한 출력:

In American locale:
         '3'  '三' '3'
iswdigit: 1    0    0
jdigit:   0    0    0
In Japanese locale:
         '3'  '三' '3'
iswdigit: 1    0    0
jdigit:   0    0    1

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • TBD 7.30.2.1.5 iswdigit 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.30.2.1.5 iswdigit 함수 (p: 327)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.30.2.1.5 iswdigit 함수 (p: 449)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.25.2.1.5 The iswdigit 함수 (p: 395)

참고 항목

문자가 숫자인지 확인합니다
(함수)
C++ documentation 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 \173 \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