std::iswdigit
提供: cppreference.com
ヘッダ <cwctype> で定義 | ||
int iswdigit( wint_t ch ); | ||
指定されたワイド文字が (ナロー化された場合) 10進数字 0123456789
のいずれかに対応するかどうかを調べます。
ch
の値が wchar_t として表現可能でなくマクロ WEOF の値と等しくもなければ、動作は未定義です。
目次 |
[編集]引数
ch | - | ワイド文字 |
[編集]戻り値
ワイド文字が数字であれば非ゼロの値、そうでなければゼロ。
[編集]ノート
std::iswdigit
および std::iswxdigit は現在設定されている C のロケールに影響されない唯一の標準のワイド文字分類関数です。
[編集]例
ロケールによっては非 ASCII 数字を検出する追加の文字クラスを提供します。
Run this code
#include <iostream>#include <cwctype>#include <clocale>void test(wchar_t a3, wchar_t u3, wchar_t j3){std::wcout<<std::boolalpha<<" '"<< 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 fullwidth 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
[編集]関連項目
指定されたロケールにおいて文字が数字に分類されるかどうか調べます (関数テンプレート) | |
文字が数字かどうか調べます (関数) | |
iswdigit の C言語リファレンス |
ASCII値 | 文字 | isdigit | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | \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 |