C 库函数 - isxdigit()
描述
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 -- 这是要检查的字符。
返回值
如果 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 是一个十六进制数