isxdigit() 原型
int isxdigit(int ch);
isxdigit()
函数根据当前的 C 区域设置,检查 ch 是否为十六进制数字字符。可用的十六进制数字字符包括:
- 数字 (0 到 9)
- 小写字母 a 到 f
- 大写字母 A 到 F
如果 ch 的值无法表示为 unsigned char 或不等于 EOF,则 isxdigit()
的行为是未定义的。
它定义在 <cctype> 头文件中。
isxdigit() 参数
ch: 要检查的字符。
isxdigit()返回值
如果 ch 是十六进制字符,isxdigit()
函数返回非零值,否则返回零。
示例:isxdigit() 函数的工作原理
#include <cctype>
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
bool flag = 0;
char str[] = "50Af";
for (int i=0; i<strlen(str); i++)
{
if (!isxdigit(str[i]))
{
flag = 1;
break;
}
}
if (flag)
cout << str << " is not a valid hexadecimal number";
else
cout << str << " is a valid hexadecimal number";
return 0;
}
运行程序后,输出将是
50Af is a valid hexadecimal number