int iswalnum(wint_t wc);
iswalnum()用于检测宽字符是字母还是十进制数字.
如果只有一个宽字符是字母,则可以使用iswalpha()函数;如果只有一个宽字符是十进制数字,则可以使用iswdigit()函数.
如果iswalpha()或iswdigit()检测到宽字符并返回“ true”,则iswalnum()也将成功检测到宽字符(返回“ true”).
iswalnum()是isalnum()的宽字符版本(位于中): 如果参数wc可以通过wctob()转换为单个字节,并且使用isalnum检测到转换后的字符()返回“ true”(非零值),然后iswalnum()也必须将wc确定为字母或十进制数字.
该参数的返回值为非零(true),表示wc是字母或十进制数字,返回值为零(false)c语言字母对应数字,表示wc既不是字母也不是十进制数字. 该示例检测字符串的开头有多少个字母和十进制数字.
#include
#include
#include
int main ()
{
int i;
wchar_t str[] = L"c3po...";
i=0;
while (iswalnum(str[i])) i++;
wprintf (L"The first %d characters are alphanumeric.\n",i);
return 0;
}
运行结果:
前4个字符为字母数字. 关于字母和十进制数字的宽字符是否是字母与程序的区域设置有关. 在默认区域设置(默认为“ C”)中c语言字母对应数字,字母包含以下字符:
a b c d e f g h i j k l m n o p q r s t u v w xy z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-271721-1.html