Namespaces
Variants

iswalnum

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

指定されたワイド文字が英数字であるかどうかをチェックします。つまり、数字( 0123456789 )、大文字( ABCDEFGHIJKLMNOPQRSTUVWXYZ )、小文字( abcdefghijklmnopqrstuvwxyz )、または現在のロケール固有の英数字のいずれかであるかを判定します。

目次

パラメータ

ch - ワイド文字

戻り値

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

注記

ISO 30112 は、POSIX alnumカテゴリに含まれるUnicode文字を指定しています。

#include <stdio.h>
#include <locale.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u13ad'; // the Cherokee letter HA ('Ꭽ')
    printf("in the default locale, iswalnum(%#x) = %d\n", c, !!iswalnum(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("in Unicode locale, iswalnum(%#x) = %d\n", c, !!iswalnum(c));
}

出力例:

in the default locale, iswalnum(0x13ad) = 0
in Unicode locale, iswalnum(0x13ad) = 1

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • TBD iswalnum関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.30.2.1.1 iswalnum関数 (p: 327)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.30.2.1.1 iswalnum関数 (p: 448)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.25.2.1.1 iswalnum関数 (p: 394)

関連項目

文字が英数字かどうかをチェックする
(関数)
C++ documentation for iswalnum
**注記**: このHTMLテーブル行には翻訳すべき自然言語テキストが含まれていません。数値範囲「71–90」、16進数表記、8進数表記、英字文字列、および比較演算子「≠0」はいずれも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 \x7E {|}~ 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