Namespaces
Variants

iswdigit

From cppreference.net
< c ‎ | string ‎ | wide
ヘッダーで定義 <wctype.h>
int iswdigit ( wint_t ch ) ;
(C95以降)

指定されたワイド文字が(ナロー化された場合に)10進数字文字 0123456789 のいずれかに該当するかどうかをチェックします。

目次

パラメータ

ch - ワイド文字

戻り値

ワイド文字が数値文字である場合は非ゼロ値、それ以外の場合はゼロ。

注記

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 iswdigit関数 (p: 395)

関連項目

文字が数字であるかどうかをチェックする
(関数)
C++ documentation for iswdigit
**注記**: このHTMLテーブル行は数値範囲と文字コードの表示であり、翻訳対象となる自然言語テキストが含まれていません。すべての内容が以下のいずれかに該当するため、翻訳は行われていません: - HTMLタグと属性 - ` `タグ内のテキスト(文字コードと文字列) - C++固有の用語 - 数値と記号
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

10進数 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