Namespaces
Variants

isxdigit

From cppreference.net
< c ‎ | string ‎ | byte
ヘッダーで定義 <ctype.h>
int isxdigit ( int ch ) ;

指定された文字が16進数の数値文字( 0123456789 abcdefABCDEF )であるか、または16進数文字として分類されるかどうかをチェックします。

ch の値が unsigned char として表現不可能であり、かつ EOF と等しくない場合、動作は未定義です。

目次

パラメータ

ch - 分類対象の文字

戻り値

文字が16進数の数値文字である場合は0以外の値、それ以外の場合は0。

注記

isdigit isxdigit は、現在インストールされているCロケールの影響を受けない唯一の標準ナロー文字分類関数ですが、一部の実装(例:1252コードページのMicrosoft実装)では追加のシングルバイト文字を数字として分類する場合があります。

#include <ctype.h>
#include <limits.h>
#include <stdio.h>
int main(void)
{
    for (int ndx = 0; UCHAR_MAX >= ndx; ++ndx)
        if (isxdigit(ndx))
            printf("%c", ndx);
    printf("\n");
}

出力:

0123456789ABCDEFabcdef

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.4.1.12 isxdigit関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.4.1.12 isxdigit関数 (p: 147)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.4.1.12 isxdigit関数 (p: 203)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.4.1.12 isxdigit関数 (p: 184)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.3.1.11 isxdigit関数

関連項目

ワイド文字が16進数文字であるかどうかをチェックする
(関数)
C++ documentation for isxdigit
**注記**: このHTMLテーブル行には翻訳対象となる自然言語テキストが含まれていないため、元の構造と内容をそのまま保持しています。数値範囲「71–90」と文字コード表現、C++関連の記号(≠0など)はすべて翻訳対象外です。
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