字符分类函数和字符转换函数

1、字符分类函数

C语言有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。 这些函数的使用都需要包含⼀个头文件是

ctype.h

函数如果他的参数符合下列条件就返回真
iscntrl任何控制字符
isspace

空白字符:空格   ‘ ’   ,换页‘\f’  ,换行‘\n’,回车'\r',制表符‘\v’

isdigit十进制数字0~9
isxdigit十六进制数字,包括所以十进制数字,小写字母a~f,大写字母A~F
islower小写字母a~z
isupper大写字母A~Z
isalpha字母a~z或A~Z
isalnum字母或者数字,a~z,A~Z,0~9
ispunct字母或者数字,任何不属于数字或字母的图形字符(可打印)
isgraph任何图形字符
isprint任何可打印字符,包括图形字符和空白字符

 例如:

int isdigit(int c);

isdigit的作用是判断一个字符是否是数字。如果是数字,返回非零值(True),否则返回0(False)

示例

#include <iostream>
#include <ctype.h>

using namespace std;

int main() {
    char c = '9';
    if (isdigit(c)) {
        cout << c << " 是数字" << endl;
    } else {
        cout << c << " 不是数字" << endl;
    }

    c = 'a';
    if (isdigit(c)) {
        cout << c << " 是数字" << endl;
    } else {
        cout << c << " 不是数字" << endl;
    }

    return 0;
}

结果:

9 是数字
a 不是数字

2、字符转换函数

C语言提供了2个字符转换函数:

int tolower ( int c ); //将参数传进去的大写字母转小写

int toupper ( int c ); //将参数传进去的小写字母转大写

上面的代码,我们将小写转大写,是ASCALL上-32完成的效果,有了转换函数,就可以直接使用 tolower 函 数。

#include <stdio.h>
#include <ctype.h>
int main ()
{
 int i = 0;
 char str[] = "Test String.\n";
 char c;
 while (str[i])
 {
 c = str[i];
 if (islower(c))
 c = toupper(c);
 putchar(c);
 i++;
 }
 return 0;
}

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值