函数
<cwctype>

iswdigit

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

十进制数字是以下任意一个0 1 2 3 4 5 6 7 8 9

此函数是 isdigit (<cctype>) 的宽字符等效函数:如果 c 可以通过 wctob 转换为一个使 isdigit 返回 true 的字符,那么该函数也始终认为它是一个十进制数字字符。

在 C++ 中,此函数的一个针对区域设置的模板版本 (isdigit) 存在于头文件 <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
/* iswdigit example */
#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 1777 followed 1776


另见