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

Posted 匆忙拥挤repeat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于C语言 "ctype.h" 字符操作的主要内容,如果未能解决你的问题,请参考以下文章

用C语言编写CGI,在html页面的文本框中刷新读取数据

C语言中头文件#include "dos.h"中包涵哪些库函数?

C语言字符串问题

C语言指针问题171

c语言 使用双重循环输出n行的等腰三角形。 例:当n=5时,输出为 * *** ***** ******* *********

求一个c语言编写的pl0编译器