跳到主要内容

C++ isxdigit() 判断字符是否为十六进制数字

isxdigit() 函数原型

int isxdigit(int ch);

isxdigit() 函数用于检查 ch 是否为十六进制数字符,这是基于当前的 C 语言区域设置。可用的十六进制数字符包括:

  • 数字(0 到 9)
  • 小写字母 a 到 f
  • 大写字母 A 到 F

如果 ch 的值无法表示为无符号字符或不等于 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 << " 不是有效的十六进制数字";
else
cout << str << " 是有效的十六进制数字";

return 0;
}

当你运行这个程序时,输出将会是:

50Af 是有效的十六进制数字