isdigit、iswdigit、_isdigit_l、_iswdigit_l

确定整数是否表示十进制数字字符。

int isdigit( 
   int c 
);
int iswdigit( 
   wint_t c 
);
int _isdigit_l( 
   int c,
   _locale_t locale
);
int _iswdigit_l( 
   wint_t c,
   _locale_t locale
);

参数

  • c
    要测试的整数。

  • locale
    要使用的区域设置。

返回值

如果 c 是十进制数字字符的特定表示,则每个实例返回非零。 如果 c 是十进制数 (0 – 9),isdigit 返回一个非零值。 如果 c 是对应于十进制数字字符的宽字符,iswdigit 返回一个非零值。 如果 c 不满足测试条件,则其中每个实例返回 0。

这些带有 _l 后缀的函数的版本使用传递区域设置而不是其与区域设置相关的行为的当前区域设置。 有关详细信息,请参阅区域设置

如果 c 不是 EOF 或在范围 0 到 0xFF 中(包含 0 和 0xFF),则 isdigit 和 _isdigit_l 行为未定义。 如果使用的是调试 CRT 库且 c 不是这些值之一,函数就会引发断言。

一般文本例程映射

TCHAR.H 例程

未定义 _UNICODE & _MBCS

已定义 _MBCS

已定义 _UNICODE

_istdigit

isdigit

_ismbcdigit

iswdigit

_istdigit_l

_isdigit_l

_ismbcdigit_l

_iswdigit_l

要求

例程

必需的标头

isdigit

<ctype.h>

iswdigit

<ctype.h> 或 <wchar.h>

_isdigit_l

<ctype.h>

_iswdigit_l

<ctype.h> 或 <wchar.h>

有关其他兼容性信息,请参见兼容性

.NET Framework 等效项

System::Char::IsDigit

请参见

参考

字符分类

区域设置

is、isw 例程