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 是一个标点符号字符的特定表示,则每个程序返回非零值。 对于所有可打印字符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

_ismbcpunct

iswpunct

要求

例程

必需的标头

ispunct

<ctype.h>

iswpunct

<ctype.h> 或 <wchar.h>

_ispunct_l

<ctype.h>

_iswpunct_l

<ctype.h> 或 <wchar.h>

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

请参见

参考

字符分类

区域设置

is、isw 例程