C 库函数 int isxdigit(int c) 检查所传的字符是否是十六进制数字。
int isxdigit(int c) 参数 c 是单个字符。
十六进制一般用数字 0 到 9 和字母 A 到 F(或 a~f)表示,其中 A~F 表示 10~15: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F。
下面是 isxdigit() 函数的声明。
int isxdigit(int c);
如果 c 是一个十六进制数字,则该函数返回非零的整数值,否则返回 0。
下面的实例演示了 isxdigit() 函数的用法。
#include <ctype.h> #include <stdio.h> int main() { char c = '5'; int result; // 传入字符 result = isxdigit(c); // result 返回非 0 printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c)); printf("\n"); // 换行 c = 'M'; // 非十六进制数作为参数 result = isxdigit(c); // result 为 0 printf("%c 传入到 isxdigit() 函数结果为: %d", c, isxdigit(c)); return 0; }
让我们编译并运行上面的程序,这将产生以下结果:
5 传入到 isxdigit() 函数结果为: 1 M 传入到 isxdigit() 函数结果为: 0
找出字符串中为十六进制数字的字符:
#include<ctype.h> #include<stdio.h> int main() { char str[]="123c@#run[oobe?"; int i; for(i=0;str[i]!='\0';i++) { if(isxdigit(str[i])) { printf("%c 是一个十六进制数\n",str[i]); } } }
让我们编译并运行上面的程序,这将产生以下结果:
1 是一个十六进制数 2 是一个十六进制数 3 是一个十六进制数 c 是一个十六进制数 b 是一个十六进制数 e 是一个十六进制数