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

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:;
(0)

相关推荐

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

    C语言isprint()函数:判断字符是否为可打印字符 头文件: #include <ctype.h> isprint() 函数用来判断一个字符是否为打印字符,其原型为: int isprint(int c); [参数]c 为需要被检测的字符. [返回值]如果 c 为可打印字符,将返回非 0 值,否则返回 0. 可打印字符的ASCII码值大于 0x1f(除了0x7f(DEL)),这些字符可以显示到屏幕上,让我们看到:不能显示在屏幕上,我们看不到的,叫控制字符,ASCII码值为 0x00 ~ 0

  • Go语言判断文件或文件夹是否存在的方法

    本文实例讲述了Go语言判断文件或文件夹是否存在的方法.分享给大家供大家参考,具体如下: Golang 判断文件是否存在有点怪异,是根据在操作文件时返回的错误信息来判断的,而不能直接根据路径判断 版本1: 复制代码 代码如下: func IsExists(path string) (bool, error) {     _, err := os.Stat(path)     if err == nil {         return true, nil     }     if os.IsNot

  • 用C语言判断字符是否为空白字符或特殊字符的方法

    C语言isspace()函数:判断字符是否为空白字符 头文件: #include <ctype.h> 定义函数: int isspace(int c); 函数说明:检查参数c是否为空格字符,也就是判断是否为空格(' ').定位字符(' \t ').CR(' \r ').换行(' \n ').垂直定位字符(' \v ')或翻页(' \f ')的情况. 返回值:若参数c 为空白字符,则返回非 0,否则返回 0. 附加说明:此为宏定义,非真正函数. 范例:将字符串str[]中内含的空格字符找出,并显

  • C语言中字符的输入输出以及计算字符个数的方法详解

    C语言字符输入与输出 标准库提供的输入/输出模型非常简单.无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理.文本流是由多行字符构成的字符序列,而每行字符则由 0 个或多个字符组成,行末是一个换行符.标准库负责使每个输入/输出流都能够遵守这一模型.使用标准库的 C 语言程序员不必关心在程序之外这些行是如何表示的. 标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数.每次调用时,getchar 函数从文本流中读入下一个输入字符,并将

  • Go语言在Linux环境下输出彩色字符的方法

    Go语言要打印彩色字符与Linux终端输出彩色字符类似,以黑色背景高亮绿色字体为例: fmt.Printf("\n %c[1;40;32m%s%c[0m\n\n", 0x1B, "testPrintColor", 0x1B) 其中0x1B是标记,[开始定义颜色,1代表高亮,40代表黑色背景,32代表绿色前景,0代表恢复默认颜色.显示效果为: 下面代码遍历全部显示效果. package main import ( "fmt" ) func main

  • Go语言判断指定文件是否存在的方法

    本文实例讲述了Go语言判断指定文件是否存在的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main    import (     "fmt"     "os" )    func main() {     f, err := os.Open("dotcoo.com.txt")     if err != nil && os.IsNotExist(err) {         fmt.Pri

  • VBS教程:正则表达式简介 -非打印字符

    非打印字符有不少很有用的非打印字符,偶尔必须使用.下表显示了用来表示这些非打印字符的转义序列: 字符含义\cx匹配由x指明的控制字符.例如, \cM 匹配一个 Control-M 或回车符. x 的值必须为 A-Z 或 a-z 之一.否则,将 c 视为一个原义的 'c' 字符.\f匹配一个换页符.等价于 \x0c 和 \cL.\n匹配一个换行符.等价于 \x0a 和 \cJ.\r匹配一个回车符.等价于 \x0d 和 \cM.\s匹配任何空白字符,包括空格.制表符.换页符等等.等价于 [ \f\n

  • 使用C语言判断栈的方向实例

    这一问题主要是如何判读出先后入栈的变量的地址大小,比如有a, b两个变量一先一后被定义,如果a的地址大于b的地址,则说明是以低地址方向增长的,反之,往高地址方向增长.在写C程序的时候不能简单直接的定义两个变量来比较它们的地址大小,因为这样很有可能编译器会做优化,最终导致结果不真实.为避免这种编译器优化的情况,可以采用将变量定义到函数中,然后递归调用该函数. 例如下面的代码: #include <stdio.h> static int stack_direction = 0; static vo

  • Java语言实现二叉堆的打印代码分享

    二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树).二叉堆有两种:最大堆和最小堆.最大堆:父结点的键值总是大于或等于任何一个子节点的键值:最小堆:父结点的键值总是小于或等于任何一个子节点的键值. 打印二叉堆:利用层级关系 我这里是先将堆排序,然后在sort里执行了打印堆的方法printAsTree() public class MaxHeap<T extends Comparable<? super T>> { private T[] data; pr

  • java 判断字符串中是否有重复字符的示例

    如下所示: /** * 判断字符串是否包含重复字符 * @param str * @return */ public static boolean containRepeatChar(String str){ if(str==null||str.isEmpty()){ return false; } char[] elements=str.toCharArray(); for(char e:elements){ if(str.indexOf(e)!=str.lastIndexOf(e)){ re

随机推荐