isxdigit

文字が 16 進数の数字かどうかをチェックします.

#include <ctype.h>
int isxdigit(
    int c /* int 型の文字 */
);

isxdigit 関数は文字 c が 16 進数字 ('0'~'9', 'A'~'F', 'a'~'f') なら真を返します.

戻り値

  • c が 16 進数字であるとき: 真 (0 以外)
  • c が 16 進数字以外であるとき: 偽 (0)

C言語サンプルプログラム

isxdigit 関数を使用して文字が16 進数字かどうかをチェックするサンプルプログラムを以下に示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

/* main */
int main(void) {

    /* 9を判定 */
    if ( isxdigit('9') ) {
        puts("16進数の数字です.");
    } else {
        puts("16進数の数字ではありません.");
    }

    /* Fを判定 */
    if ( isxdigit('F') ) {
        puts("16進数の数字です.");
    } else {
        puts("16進数の数字ではありません.");
    }

    /* Gを判定 */
    if ( isxdigit('G') ) {
        puts("16進数の数字です.");
    } else {
        puts("16進数の数字ではありません.");
    }

    return EXIT_SUCCESS;
}

実行例

サンプルプログラムの実行結果は以下のようになります.

16進数の数字です.
16進数の数字です.
16進数の数字ではありません.