函数
<cctype>

ispunct

int ispunct ( int c );
检查字符是否是标点符号
检查 c 是否是标点符号。

标准"C"在 locale 中,标点符号字符是指所有图形字符(如 isgraph 中所述)但非字母数字字符(如 isalnum 中所述)。

其他 locale 可能将不同选择的字符视为标点符号字符,但无论如何它们都是 isgraph 字符,但不是 isalnum 字符。

有关不同ctype函数为标准 ANSII 字符集中的每个字符返回的值,请参阅 <cctype> 头文件的参考。

在 C++ 中,此函数的一个 locale 特定模板版本(ispunct)存在于头文件 <locale> 中。

参数

c
要检查的字符,转型为int类型,或EOF.

返回值

如果 c 确实是空白字符,则返回一个非零值(即true) 如果 c 确实是标点符号字符。零(即false)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* ispunct example */
#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i=0;
  int cx=0;
  char str[]="Hello, welcome!";
  while (str[i])
  {
    if (ispunct(str[i])) cx++;
    i++;
  }
  printf ("Sentence contains %d punctuation characters.\n", cx);
  return 0;
}

输出
Sentence contains 2 punctuation characters.


另见