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 是有效的十六进制数字