函数
<cwctype>

iswxdigit

int iswxdigit (wint_t c);
检查宽字符是否为十六进制数字
检查c是否为十六进制数字字符

一个十六进制数字是以下任意一个:0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

此函数是isxdigit<cctype>)的宽字符等价版本:如果c通过wctob转换为isxdigit为true的字符,那么此函数也始终将其视为十六进制数字字符。

在C++中,此函数的本地化特定模板版本(isxdigit)存在于头文件<locale>中,适用于所有字符类型。

参数

c
要检查的宽字符,强制转换为wint_t类型,或WEOF.
wint_t 是一个整数类型。

返回值

如果 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 <wchar.h>
#include <wctype.h>
int main ()
{
  wchar_t str[] = L"ffff";
  long int number;
  if (iswxdigit(str[0]))
  {
    number = wcstol (str,NULL,16);
    wprintf (L"The hexadecimal number %lx is %ld.\n",number,number);
  }
  return 0;
}

输出
The hexadecimal number ffff is 65535.


另见