iswdigit
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <wctype.h> で定義
|
||
int iswdigit( wint_t ch ); |
(C95以上) | |
指定されたワイド文字が (ナロー化された場合) 10進数字 0123456789 のいずれかに対応するかどうかを調べます。
引数
| ch | - | ワイド文字 |
戻り値
ワイド文字が数字であれば非ゼロの値、そうでなければゼロ。
ノート
iswdigit および iswxdigit は現在設定されている C のロケールに影響されない唯一の標準のワイド文字分類関数です。
例
ロケールによっては非 ASCII 数字を検出する追加の文字クラスを提供します。
Run this code
#include <stdio.h>
#include <wctype.h>
#include <wchar.h>
#include <locale.h>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
printf(" '%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 fullwidth 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
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.30.2.1.5 The iswdigit function (p: 449)
- C99 standard (ISO/IEC 9899:1999):
- 7.25.2.1.5 The iswdigit function (p: 395)
関連項目
| 文字が数字かどうか調べます (関数) | |
iswdigit の C++リファレンス
| |
| ASCII値 (16進) |
文字 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 - 8 | 0x00-0x08
|
制御コード (NULなど)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 9 | 0x09
|
タブ (\t)
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 10 - 13 | 0x0A-0x0D
|
ホワイトスペース (\n,\v,\f,\r)
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 14 - 31 | 0x0E-0x1F
|
制御文字 | ≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 32 | 0x20
|
スペース | 0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 33 - 47 | 0x21-0x2F
|
!"#$%&'()*+,-./
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 48 - 57 | 0x30-0x39
|
0123456789
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
≠0
|
≠0
|
| 58 - 64 | 0x3a-0x40
|
:;<=>?@
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 65 - 70 | 0x41-0x46
|
ABCDEF
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
≠0
|
| 71 - 90 | 0x47-0x5A
|
GHIJKLMNOPQRSTUVWXYZ
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
| 91 - 96 | 0x5B-0x60
|
[\]^_`
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 97 -102 | 0x61-0x66
|
abcdef
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
≠0
|
| 103-122 | 0x67-0x7A
|
ghijklmnopqrstuvwxyz
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
0
|
| 123-126 | 0x7B-0x7E
|
{|}~
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 127 | 0x7F
|
削除文字 (DEL)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|