函数
<cctype>

isxdigit

int isxdigit ( int c );
检查字符是否为十六进制数字
检查c是否为十六进制数字字符。

十六进制数字包括0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

有关不同ctype函数为标准 ANSII 字符集中的每个字符返回的值,请参阅 <cctype> 头文件的参考。

在C++中,此函数的本地化特定模板版本(isxdigit)存在于标头<locale>中。

参数

c
要检查的字符,转型为int类型,或EOF.

返回值

如果 c 确实是空白字符,则返回一个非零值(即true) 如果c确实是十六进制数字。零(即false)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* isxdigit example */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main ()
{
  char str[]="ffff";
  long int number;
  if (isxdigit(str[0]))
  {
    number = strtol (str,NULL,16);
    printf ("The hexadecimal number %lx is %ld.\n",number,number);
  }
  return 0;
}

isxdigit用于检查中的第一个字符str是否为有效的十六进制数字,因此可以被strtol成功转换为整型值。输出
The hexadecimal number ffff is 65535.


另见