函数

ispunct

<cctype>

int ispunct ( int c );

检查字符是否是标点字符(punctuation)

检查 c 是否是一个标点字符。

标准 “C” 环境把所有是图形字符 (as in isgraph) 但不是字母或数字 (as in isalnum) 的字符认为是标点字符。

其他环境可能会把不同的字符当作标点字符,但无论哪种情况,它们肯定是 isgraph 但不是 isalnum

头文件 <cctype> 的参考中,有标准 ASCII 字符集的各个字符在不同 ctype 函数的返回值的详细图表。

在 C++ 中,这个函数的 locale-specific 模板版本 ispunct 在头文件 <locale>中。

参数

c

被检查的字符,被转化为 int 型或 EOF

返回值

如果 c 的确是一个数字或字母,则返回一个非0值 (也就是 true ),否则返回0 (也就是 false)。

例子

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

输出:

  1. Sentence contains 2 punctuation characters.

另请参阅

函数名 描述
isgraph 检查字符是否有图形表示(graphical representation) (函数)
iscntrl 检查字符是否是控制字符(control character) (函数)