C言語,isxdigit()関数で16進数の数字かどうかを確認

スポンサーリンク

鍛錬 724

C言語,isxdigit()関数で16進数の数字かどうかを確認

指定した文字が16進数の数字「0 ~ 9」「a ~ f」「A ~ F」かどうかを確認するには、isxdigit()関数を使用します。
 
以下は、isxdigit()関数についてです。

#include <ctype.h>

int isxdigit(int c);
 

引数

以下は、上記の引数についてです。

引数 意味
int c 確認対象の文字

戻り値

以下は、戻り値についてです。

戻り値
int 16進数の数字である場合 0 以外
int 16進数の数字ではない場合 0
スポンサーリンク

プログラム

以下は、指定した文字が16進数の数字かどうかを確認するプログラム、test_isxdigit.c です。

今回は、文字「3」「F」「G」について確認しています。

// include
#include <stdio.h>
#include <ctype.h>

// main
int main(void)
{
	int c;
	int ret;
	
	// 文字が16進数の数字かどうかを確認
	
	// --------------------------------------------------------------
	c = '3';
	ret = isxdigit(c);
	if (ret != 0) {
		printf("[%c]は16進数の数字です\n", c);
	}
	else if (ret == 0) {
		printf("[%c]は16進数の数字ではありません\n", c);
	}
	
	// --------------------------------------------------------------
	c = 'F';
	ret = isxdigit(c);
	if (ret != 0) {
		printf("[%c]は16進数の数字です\n", c);
	}
	else if (ret == 0) {
		printf("[%c]は16進数の数字ではありません\n", c);
	}
	
	// --------------------------------------------------------------
	c = 'G';
	ret = isxdigit(c);
	if (ret != 0) {
		printf("[%c]は16進数の数字です\n", c);
	}
	else if (ret == 0) {
		printf("[%c]は16進数の数字ではありません\n", c);
	}
	
	return 0;
}
スポンサーリンク

実行結果

以下は、プログラム test_isxdigit.c を実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_isxdigit.c -o test_isxdigit
***@ubuntu:~/***/test/c$ ./test_isxdigit
[3]は16進数の数字です
[F]は16進数の数字です
[G]は16進数の数字ではありません

 
上記に示した通り、指定した文字が16進数の数字かどうかを確認することができました。

タイトルとURLをコピーしました