ispunct, iswpunct, _ispunct_l, _iswpunct_l

确定整数是否表示标点字符。

语法

int ispunct(
   int c
);
int iswpunct(
   wint_t c
);
int _ispunct_l(
   int c,
   _locale_t locale
);
int _iswpunct_l(
   wint_t c,
   _locale_t locale
);

参数

c
要测试的整数。

locale
要使用的区域设置。

返回值

如果 c 是标点字符的特定表示形式,则每个例程将返回非零值。 如果任何可打印字符不是空格字符也不是 isalnum 为非零值的字符,则 ispunct 返回一个非零值。 如果任何可打印宽字符不是空格宽字符也不是 iswalnum 为非零值的宽字符,则 iswpunct 返回一个非零值。 如果 c 不满足测试条件,则这些例程都返回 0。

ispunct 函数的测试条件的结果取决于区域设置的 LC_CTYPE 类别设置。 有关详细信息,请参阅 setlocale_wsetlocale。 这些不带 _l 后缀的函数的版本将当前区域设置用于任何依赖于区域设置的行为;带有 _l 后缀的版本与之相同,只不过它们改用传入的区域设置。 有关详细信息,请参阅 Locale

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

一般文本例程映射

TCHAR.H 例程 _UNICODE_MBCS 未定义 _MBCS 已定义 _UNICODE 已定义
_istpunct ispunct _ismbcpunct iswpunct

注解

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

要求

例程 必需的标头
ispunct <ctype.h>
iswpunct <ctype.h> 或 <wchar.h>
_ispunct_l <ctype.h>
_iswpunct_l <ctype.h> 或 <wchar.h>

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

另请参阅

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