函数
<cctype>

isprint

int isprint ( int c );
检查字符是否可打印
检查 c 是否为可打印字符

可打印字符 是指在显示器上占据打印位置的字符(这与控制字符相对,用 iscntrl 检查)。

对于标准 ASCII 字符集(由"C"区域设置使用),可打印字符是指 ASCII 码大于0x1f(US),但不包括0x7f(DEL)的所有字符。

isgraph 返回 true 的情况与isprint除了空格符(' ')之外,空格符用isprint检查时返回 true,但用 isgraph 检查时返回 false。

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

在 C++ 中,此函数的区域设置特定模板版本(isprint)存在于头文件 <locale> 中。

参数

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

返回值

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

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* isprint example */
#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i=0;
  char str[]="first line \n second line \n";
  while (isprint(str[i]))
  {
    putchar (str[i]);
    i++;
  }
  return 0;
}

此代码逐个打印字符串中的字符,直到检查到一个不可打印字符并跳出 while 循环。在此例中,只有第一行会被打印,因为该行以换行符('\n')结尾,它不是一个可打印字符。

另见