确定整数是否表示标点符号字符。
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 是一个标点符号字符的特定表示,则每个程序返回非零值。 对于所有可打印字符ispunct 返回非零值,它不是空格字符也不是对于 isalnum 是非零的字符。 对于所有可打印的宽字符iswpunct 返回非零值,它既不是空格宽字符也不是对于 iswalnum 是非零的宽字符 。 如果 c 不满足测试条件,则每个实例都返回0。
关于ispunct 函数测试条件的结果依赖区域设置的 LC_CTYPE类别设置;有关详细信息,请参阅 setlocale、_wsetlocale。 这些不带 _l 后缀的函数版本对任何区域设置相关行为使用当前区域设置;带有 _l 后缀的版本相同,只不过它们使用传入的区域设置。 有关详细信息,请参阅区域设置。
如果c 不是 EOF 或在范围 0 到 0xFF 中(包含 0 和 0xFF),ispunct和_ispunct_l的行为是未定义的。 如果使用的是调试 CRT 库且 c 不是这些值之一,函数就会引发断言。
一般文本例程映射
TCHAR.H 例程 |
未定义 _UNICODE & _MBCS |
已定义 _MBCS |
已定义 _UNICODE |
---|---|---|---|
_istpunct |
ispunct |
iswpunct |
要求
例程 |
必需的标头 |
---|---|
ispunct |
<ctype.h> |
iswpunct |
<ctype.h> 或 <wchar.h> |
_ispunct_l |
<ctype.h> |
_iswpunct_l |
<ctype.h> 或 <wchar.h> |
有关其他兼容性信息,请参见兼容性。