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

 更新时间:2015年08月26日 10:34:31   投稿:goldensun  
这篇文章主要介绍了C语言判断字符是否为可打印字符的方法,分别为isprint()函数和isgraph()函数的使用,需要的朋友可以参考下

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

#include <ctype.h>

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

  int isprint(int c);

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

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

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

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

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

#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]);
}

输出结果:

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()函数:判断字符是否为除空格以外的可打印字符
头文件:

#include <ctype.h>

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

  int isgraph (int c);

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

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

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

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

#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]);
}

输出结果:

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

相关文章

  • C++中const与#define的利弊分析

    C++中const与#define的利弊分析

    C++中不但可以用define定义常量还可以用const定义常量,下面这篇文章主要给大家分析介绍了关于C++中const与#define的利弊,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2018-05-05
  • Qt实现简单的TCP通信

    Qt实现简单的TCP通信

    这篇文章主要为大家详细介绍了Qt实现简单的TCP通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C语言每日练习之乒乓球比赛问题

    C语言每日练习之乒乓球比赛问题

    这篇文章主要为大家详细介绍了C语言实现乒乓球比赛,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C/C++检测文件是否存在的常见方法

    C/C++检测文件是否存在的常见方法

    在C和C++中,检测文件是否存在的方法通常涉及到平台特定的API或者使用标准库的功能(在C++17及以后版本中),本文给大家介绍了C/C++检测文件是否存在的几种常见方法,感兴趣的小伙伴跟着小编一起来看看吧
    2024-06-06
  • C++ 使用PrintWindow实现窗口截图功能

    C++ 使用PrintWindow实现窗口截图功能

    这篇文章主要介绍了C++ 如何使用PrintWindow实现窗口截图功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • 关于C++静态成员函数访问非静态成员变量的问题

    关于C++静态成员函数访问非静态成员变量的问题

    静态成员函数不能访问非静态成员,这是因为静态函数属于类而不是属于整个对象,静态函数中的 member可能都没有分配内存。静态成员函数没有隐含的this自变量。所以,它就无法访问自己类的非静态成员
    2013-10-10
  • 史上最强C语言分支和循环教程详解

    史上最强C语言分支和循环教程详解

    这篇文章主要介绍了史上最强C语言分支和循环教程详解,本文通过代码演示给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • C语言折半查找法的由来及使用详解

    C语言折半查找法的由来及使用详解

    折半查找法也叫做⼆分查找,顾名思义就是把数据分成两半,再判断所查找的key在哪⼀半中,再重复上述步骤知道找到⽬标key,下面这篇文章主要给大家介绍了关于C语言折半查找法的相关资料,需要的朋友可以参考下
    2022-08-08
  • 输出1000以内的素数的算法(实例代码)

    输出1000以内的素数的算法(实例代码)

    本篇文章是对输出1000以内的素数的算法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 求素数,用vector存储的实现方法

    求素数,用vector存储的实现方法

    本篇文章是对求素数,用vector存储的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论