<wctype.h>
-- 函数
阅读:0
作者:严长生
iswxdigit() 判断一个宽字符是否是十六进制数字
int iswxdigit (wint_t wc);
iswxdigit() 函数用来检测一个宽字符是否是十六进制数字。十六进制数字包括:0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
iswxdigit() 是 isxdigit()(位于<ctype.h>中)的宽字符版本:如果参数 wc 能够被 wctob() 转换为单个字节的形式,并且转换后的字符使用 isxdigit() 检测返回“真”(非零值),那么 iswxdigit() 也一定会将 wc 判定为十六进制数字。
参数
-
wc
要检测的宽字符。它可以是一个有效的宽字符(被转换为 wint_t 类型),也可以是 WEOF(表示无效的宽字符)。
返回值
返回值为非零(真)表示wc
是十六进制数字,返回值为零(假)表示wc
不是十六进制数字。
实例
#include <stdio.h> #include <wchar.h> #include <wctype.h> int main () { wchar_t str[] = L"E6fd"; 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 e6fd is 59133.
本例中,isxwdigit() 用来检测 str 字符串中第 0 个宽字符是否是有效的十六进制数字,如果是,那么使用 wcstol() 函数将 str 转换为十进制数字。