名前空間
変種
操作

isalnum

提供: cppreference.com
< c‎ | string‎ | byte
ヘッダ <ctype.h> で定義
int isalnum( int ch );

現在の C のロケールによる分類において、指定された文字がアルファベットまたは数字かどうか調べます。 デフォルトのロケールでは、以下の文字がアルファベットまたは数字です。

  • 数字 (0123456789)
  • 大文字 (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
  • 小文字 (abcdefghijklmnopqrstuvwxyz)

ch の値が unsigned char で表現できず、 EOF とも等しくない場合、動作は未定義です。

目次

[編集] 引数

ch - 分類する文字

[編集] 戻り値

文字がアルファベットまたは数字であれば非ゼロの値、そうでなければ 0

[編集]

異なるロケールで isalnum() の使用をデモンストレーションします (OS固有)。

#include <stdio.h>
#include <ctype.h>
#include <locale.h>
 
int main(void)
{
    unsigned char c = '\xdf'; // German letter ß in ISO-8859-1
 
    printf("isalnum('\\xdf') in default C locale returned %d\n", !!isalnum(c));
 
    if(setlocale(LC_CTYPE, "de_DE.iso88591"))
        printf("isalnum('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalnum(c));
}

出力例:

isalnum('\xdf') in default C locale returned 0
isalnum('\xdf') in ISO-8859-1 locale returned 1

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.4.1.1 The isalnum function (p: 200)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.4.1.1 The isalnum function (p: 181)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.3.1.1 The isalnum function

[編集] 関連項目

ワイド文字がアルファベットまたは数字かどうか調べます
(関数) [edit]
ASCII値
(16進)
文字

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

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