C++ isxdigit()

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
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战