C语言判断字符是否为可打印字符的方法_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:;

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c语言
可打印
c语言判断回文字符串、c语言判断字符串相等、c语言判断字符相等、c语言判断字符串长度、c语言判断字符串为空,以便于您获取更多的相关知识。

时间: 2024-10-01 20:15:41

C语言判断字符是否为可打印字符的方法_C 语言的相关文章

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

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

C++实现将一个字符串中的字符替换成另一个字符串的方法_C 语言

本文实例讲述了C++实现将一个字符串中的字符替换成另一个字符串的方法,分享给大家供大家参考.具体方法如下: 题目要求: 原地实现字符串中的每个空格替换成"%20",例如输入"We are happy", 输出"We%20are%20happy" 被替换的字符串当然不仅仅是空格,上面只是个例子 这是道很好的题目,也是百度面试中的一道题,题目不难,但是问题得考虑全面.这里给出如下实现代码: #include <iostream> #inc

在C语言中比较两个字符串是否相等的方法_C 语言

C语言strcmp()函数:比较字符串(区分大小写) 头文件:#include <string.h> strcmp() 用来比较字符串(区分大小写),其原型为: int strcmp(const char *s1, const char *s2); [参数]s1, s2 为需要比较的两个字符串. 字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值.strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回.例

C语言按关键字搜索文件夹中文件的方法_C 语言

本文实例讲述了C语言按关键字搜索文件夹中文件的方法.分享给大家供大家参考.具体实现方法如下: 方法1: #include<iostream> #include<string> #include<io.h> using namespace std; void filesearch(string path,string mode) { struct _finddata_t filefind; if(path[path.size()-1]=='\\') path.resize

C语言中对字母进行大小写转换的简单方法_C 语言

C语言tolower()函数:将大写字母转换为小写字母头文件: #include <ctype.h> 定义函数: int toupper(int c); 函数说明:若参数 c 为小写字母则将该对应的大写字母返回. 返回值:返回转换后的大写字母,若不须转换则将参数c 值返回. 范例:将s 字符串内的小写字母转换成大写字母. #include <ctype.h> main(){ char s[] = "aBcDeFgH12345;!#$"; int i; print

C语言实现最长递增子序列问题的解决方法_C 语言

本文实例展示了C语言实现最长递增子序列问题的解决方法.分享给大家供大家参考.具体方法如下: 问题描述: 给定一个序列,找出其最长递增子序列长度. 比如 输入 1 3 7 5 输出 3 算法解决思路: 利用动态规划的思想,以序列的每个点最为最右端,找出每个点作为最右端时的子序列长度的最大值,即问题的求解.因此,在计算前面的每个点的时候,将其结果保存下来,后面的点与前面的点的数值进行比较,如果大,则在其长度基础上加1,并且找出所有可能情况下最长的保存为当前点的长度.形成递归. 具体实现代码如下: #

C语言实现在windows服务中新建进程的方法_C 语言

本文实例讲述了C语言实现在windows服务中新建进程的方法.分享给大家供大家参考.具体如下: 运行环境:visual stdio 2008 文件名:testService.c #include <windows.h> #include <stdio.h> #include <time.h> #include <tchar.h> HANDLE hMutex; SERVICE_STATUS ServiceStatus; SERVICE_STATUS_HANDL

C语言中结构体(struct)的几种初始化方法_C 语言

本文给大家总结的struct数据有3种初始化方法      1.顺序      2.C风格的乱序      3.C++风格的乱序 下面通过示例代码详细介绍这三种初始化方法. 1)顺序 这种方法很常见,在一般的介绍C的书中都有介绍.顺序初始化的特点是: 按照成员定义的顺序,从前到后逐个初始化:允许只初始化部分成员:在被初始化的成员之前,不能有未初始化的成员. 示例: struct User oneUser = {10, "Lucy", "/home/Lucy"}; 2

用C语言判断一个二叉树是否为另一个的子结构_C 语言

1.问题描述:      如何判断一个二叉树是否是另一个的子结构?      比如:         2       /   \      9    8     / \    /    2  3  5   / 6    有个子结构是    9   / \ 2  3 2.分析问题:    有关二叉树的算法问题,一般都可以通过递归来解决.那么写成一个正确的递归程序,首先一定要分析正确递归结束的条件. 拿这道题来讲,什么时候递归结束. <1>第二个二叉树root2为空时,说明root2是第一棵二叉树

判断机器大小端的两种实现方法_C 语言

第一种方法 思路:利用指针的强制类型转换 复制代码 代码如下: #include <stdio.h> int main(void){    int data1 = 0x12345678;   int i;   for(i=0; i<4; i++)  {       printf("%#x ----->%p\n",*((char *)&data1 + i),(char *)&data1 + i);   }     return 0;} 从输出的结果