C语言判断字符是否为可打印字符的方法

时间:2022-06-22 06:43:41

C语言isprint()函数:判断字符是否为可打印字符
头文件:

?
1
#include <ctype.h>

isprint() 函数用来判断一个字符是否为打印字符,其原型为:

?
1
int isprint(int c);

【参数】c 为需要被检测的字符。

【返回值】如果 c 为可打印字符,将返回非 0 值,否则返回 0。

可打印字符的ASCII码值大于 0x1f(除了0x7f(DEL)),这些字符可以显示到屏幕上,让我们看到;不能显示在屏幕上,我们看不到的,叫控制字符,ASCII码值为 0x00 ~ 0x1f,再加上 0x7f(DEL)。检测控制字符请使用 isiscntrl() 函数。

注意,此函数为宏定义,非真正函数。

【实例】判断str 字符串中哪些为可打印字符包含空格字符。

?
1
2
3
4
5
6
7
8
#include <ctype.h>
main(){
  char str[] = "a5 @;";
  int i;
  for(i = 0; str[i] != 0; i++)
    if(isprint(str[i]))
      printf("str[%d] is printable character:%d\n", i, str[i]);
}

输出结果:

?
1
2
3
4
5
str[0] is printable character:a
str[1] is printable character:5
str[2] is printable character:
str[3] is printable character:@
str[4] is printable character:;

C语言isgraph()函数:判断字符是否为除空格以外的可打印字符
头文件:

?
1
#include <ctype.h>

isgraph() 用来判断一个字符是否为除空格以外的可打印字符,其原型为:

?
1
int isgraph (int c);

【参数】c 为需要检测的字符。

【返回值】如果 c 所对应的 ASCII 码可打印,且为非空格字符,则返回非 0 值,否则返回 0。

注意,isgraph() 为宏定义,非真正函数。

【范例】判断str 字符串中哪些为可打印字符。

?
1
2
3
4
5
6
7
8
#include <ctype.h>
main(){
  char str[] = "a5 @;";
  int i;
  for(i = 0; str[i] != 0; i++)
    if(isgraph(str[i]))
      printf("str[%d] is printable character:%d\n", i, str[i]);
}

输出结果:

?
1
2
3
4
str[0] is printable character:a
str[1] is printable character:5
str[3] is printable character:@
str[4] is printable character:;