原文:http://www.cplusplus.com/reference/clibrary/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
待检查字符,被转换成一个整数或者EOF结束符。
返回值
如果事实上c是一个十六进制数字,返回值为非0(例如:true)。否则,返回值为0 (例如:false)。
实例
/* 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.
请参阅
isdigit 检查字符是否是十进制数字(函数)
isalnum 检查字符是否是字母或者数字(函数)
isalpha 检查字符是否是字母(函数)