C语言 "ctype.h" 字符操作

文章目录


ctype.h

可用于检测和映射字符


使用

#include <ctype.h> //可用于检测和映射字符
#include <stdio.h>
#define pp(n, arg) printf("%s. %d\n", n, arg)

void ctype_test(int c) {
	pp("a.", isalnum(c)); //是否是字母和数字
    pp("b.",isalpha(c)); //是否是字母
    pp("c.",iscntrl(0x05)); //是否是控制字符
    pp("d.",iscntrl(127)); //是否是控制字符。可查询 ascii 中的控制字符表
    pp("e.",isdigit(c));//是否是十进制数字
    pp("f.",isxdigit(c));//是否是十六进制数字
    pp("g.", isgraph(c));//是否为图形字符.会在屏幕上显示出来,这些字符就是图形字符.但是有个别的字符只占用位置却不显示,如空格 ' '
    pp("h.",islower(c));//是否为小写字母
    pp("i.", isupper(c));//是否为大写字母
    pp("j.",isprint(c));//是否为可打印的
    pp("k.",ispunct(c));//是否为标点符号字符. ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
    pp("l.",isspace(c));//是否为空白字符. 制表符、换行符、垂直制表符、换页符、回车符、空格符的集合。
//    pp( toascii(' '));//字符的 ascii 值.  好像是非标准库的函数

    printf("转成小写字符的int值,所对应的原字符是 %c\n", tolower(c));
    printf("转成大写字符的int值,所对应的原字符是 %c\n", toupper(c));
}

out:

a.. 1
b.. 1
c.. 1
d.. 1
e.. 0
f.. 1
g.. 1
h.. 0
i.. 1
j.. 1
k.. 0
l.. 0
转成小写字符的int值,所对应的原字符是 a
转成大写字符的int值,所对应的原字符是 A

发布了400 篇原创文章 · 获赞 364 · 访问量 162万+

猜你喜欢

转载自blog.csdn.net/jjwwmlp456/article/details/104453188