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

语法

int iscntrl(
   int c
);
int iswcntrl(
   wint_t c
);
int _iscntrl_l(
   int c,
   _locale_t locale
);
int _iswcntrl_l(
   wint_t c,
   _locale_t locale
);

参数

c
要测试的整数

locale
要使用的区域设置。

返回值

如果 c 是控制字符的特定表示形式,则每个例程将返回非零值。 如果 c 是控制字符(0x00 – 0x1F 或 0x7F),则 iscntrl 将返回非零值。 如果 c 是一个控制宽字符,则 iswcntrl 返回非零值。 如果 c 不满足测试条件,则这些例程都返回 0。

_l 后缀的函数的版本使用传入的区域设置参数而不是当前区域设置。 有关详细信息,请参阅 Locale

如果 c 不是 EOF 或在范围 0 到 0xFF 内(包含 0 和 0xFF),则 iscntrl_iscntrl_l 的行为没有定义。 当使用调试 CRT 库并且 c 不是这些值中的一个时,函数将引发断言。

一般文本例程映射

TCHAR.H 例程 _UNICODE_MBCS 未定义 _MBCS 已定义 _UNICODE 已定义
_istcntrl iscntrl iscntrl iswcntrl
_istcntrl_l _iscntrl_l _iscntrl_l _iswcntrl_l

备注

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

要求

例程 必需的标头
iscntrl <ctype.h>
iswcntrl <ctype.h> 或 <wchar.h>
_iscntrl_l <ctype.h>
_iswcntrl_l <ctype.h> 或 <wchar.h>

有关兼容性的详细信息,请参阅 兼容性

另请参阅

字符分类
区域设置
is, isw 例程