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++中左值与右值的概念与应用

    详解C++中左值与右值的概念与应用

    左值(Lvalue)和右值(Rvalue)是C++和其他编程语言中用来区分表达式的概念。这篇文章主要为大家详细介绍了它们的概念与应用,需要的可以参考一下
    2023-03-03
  • 详解c++中的异常

    详解c++中的异常

    程序在运行过程中,有对也就有错,正确那么就不用说了,但是如果错误,那么我们如何快速的定位到错误的位置,以及知道发生了什么错误。当一个函数发现自己无法处理的异常,就会抛出一个异常,让函数调用者直接或者间接的处理这个错误。本文将详解介绍c++中的异常
    2021-06-06
  • C++设计模式之命令模式

    C++设计模式之命令模式

    这篇文章主要介绍了C++设计模式之命令模式,本文讲解了什么是命令模式、命令模式的使用场合等内容,并给出了一个代码实例,需要的朋友可以参考下
    2014-10-10
  • vc++实现的tcp socket客户端和服务端示例

    vc++实现的tcp socket客户端和服务端示例

    这篇文章主要介绍了vc++实现的tcp socket客户端和服务端示例,需要的朋友可以参考下
    2014-03-03
  • C语言如何利用ASCII码表统计字符串每个字符出现的次数

    C语言如何利用ASCII码表统计字符串每个字符出现的次数

    这篇文章主要介绍了C语言如何利用ASCII码表统计字符串每个字符出现的次数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C++ 如何实现多线程与线程同步

    C++ 如何实现多线程与线程同步

    多线程中的线程同步可以使用,CreateThread,CreateMutex 互斥锁实现线程同步,通过临界区实现线程同步,Semaphore 基于信号实现线程同步,CreateEvent 事件对象的同步,以及线程函数传递单一参数与多个参数的实现方式。
    2021-06-06
  • C/C++函数参数声明解析int fun() 与 int fun(void) 的区别讲解

    C/C++函数参数声明解析int fun() 与 int fun(void) 的区别讲解

    C++中int fun()和int fun(void)的区别在于函数参数的声明方式,前者默认允许任意参数,而后者表示没有参数,通过清晰的实例源代码,详细解释了它们在函数声明和调用中的不同之处,这篇文章介绍了C/C++函数参数声明int fun()与int fun(void)的差异,需要的朋友可以参考下
    2024-01-01
  • C调用C++代码的方法步骤

    C调用C++代码的方法步骤

    本文主要介绍了C调用C++代码的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 详解VisualS tudio Code开发Arm嵌入式Linux应用

    详解VisualS tudio Code开发Arm嵌入式Linux应用

    本文介绍如何在 Visual Studio Code 中使用 Yocto Project 生成的 Linux SDK,并针对 Arm 处理器进行 C/C++ 应用交叉编译和调试,感兴趣的朋友跟随小编一起看看吧
    2021-04-04
  • VisualStudio2022编写C语言的实现步骤

    VisualStudio2022编写C语言的实现步骤

    VisualStudio2022是一款强大的集成开发环境,可以用来编写C语言程序,本文主要介绍了VisualStudio2022编写C语言的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06

最新评论