<wctype.h> -- 函数
阅读:0       作者:严长生

iswdigit() 判断一个宽字符是否是十进制数字

int iswdigit (wint_t wc);

iswdigit() 函数用来检测一个宽字符是否是十进制数字。

十进制数字包括:0  1  2  3  4  5  6  7  8  9

iswdigit() 是 isdigit()(位于<ctype.h>中)的宽字符版本:如果参数 wc 能够被 wctob() 转换为单个字节的形式,并且转换后的字符使用 isdigit() 检测返回“真”(非零值),那么 iswdigit() 也一定会将 wc 判定为十进制数字。

参数

  • wc

    要检测的宽字符。它可以是一个有效的宽字符(被转换为 wint_t 类型),也可以是 WEOF(表示无效的宽字符)。

返回值

返回值为非零(真)表示wc是十进制数字,返回值为零(假)表示wc不是十进制数字。

实例

#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main ()
{
    wchar_t str[] = L"1776ad";
    long int year;
    if (iswdigit(str[0]))
    {
        year = wcstol (str,NULL,10);
        wprintf (L"The year that followed %ld was %ld.n",year,year+1);
    }
    return 0;
}
运行结果:
The year that followed 1776 was 1777.

iswdigit() 函数用来检测 str 字符串的首个宽字符是否是十进制数字,如果是,就调用 wcstol() 函数将 str 转换为整数。