📜  C++中的字符分类:cctype(1)

📅  最后修改于: 2023-12-03 14:39:58.300000             🧑  作者: Mango

C++中的字符分类:cctype

在C++中,有一个非常有用的标准函数库,叫作cctype。cctype库中包括了一系列的函数,用于判断一个字符的类型。在程序中,我们经常需要将字符转换为小写或者大写,或者判断一个字符是否为数字或字母等等。本文将为大家介绍cctype库中常用的一些函数。

isalpha函数

isalpha函数用于判断一个字符是否为字母,包括大写字母和小写字母。

#include <cctype>
#include <iostream>

int main(){
    char ch = 'a';
    if(isalpha(ch)){
        std::cout<<"It's a letter!"<<std::endl;
    }else{
        std::cout<<"It's not a letter!"<<std::endl;
    }
    return 0;
}

输出结果:

It's a letter!
isdigit函数

isdigit函数用于判断一个字符是否为数字。

#include <cctype>
#include <iostream>

int main(){
    char ch = '9';
    if(isdigit(ch)){
        std::cout<<"It's a digit!"<<std::endl;
    }else{
        std::cout<<"It's not a digit!"<<std::endl;
    }
    return 0;
}

输出结果:

It's a digit!
isalnum函数

isalnum函数用于判断一个字符是否为字母或数字。

#include <cctype>
#include <iostream>

int main(){
    char ch = '?';
    if(isalnum(ch)){
        std::cout<<"It's a letter or digit!"<<std::endl;
    }else{
        std::cout<<"It's not a letter or digit!"<<std::endl;
    }
    return 0;
}

输出结果:

It's not a letter or digit!
islower和isupper函数

islower函数用于判断一个字符是否为小写字母,isupper函数用于判断一个字符是否为大写字母。

#include <cctype>
#include <iostream>

int main(){
    char ch = 'A';
    if(islower(ch)){
        std::cout<<"It's a lower case letter!"<<std::endl;
    }else if(isupper(ch)){
        std::cout<<"It's an upper case letter!"<<std::endl;
    }else{
        std::cout<<"It's not a letter!"<<std::endl;
    }
    return 0;
}

输出结果:

It's an upper case letter!
tolower和toupper函数

tolower函数用于将一个大写字母转换成小写字母,toupper函数用于将一个小写字母转换成大写字母。

#include <cctype>
#include <iostream>

int main(){
    char ch = 'B';
    std::cout<<"Before tolower, ch is "<<ch<<std::endl; // 输出:Before tolower, ch is B
    ch = tolower(ch);
    std::cout<<"After tolower, ch is "<<ch<<std::endl; // 输出:After tolower, ch is b

    char ch2 = 'y';
    std::cout<<"Before toupper, ch2 is "<<ch2<<std::endl; // 输出:Before toupper, ch2 is y
    ch2 = toupper(ch2);
    std::cout<<"After toupper, ch2 is "<<ch2<<std::endl; // 输出:After toupper, ch2 is Y

    return 0;
}

输出结果:

Before tolower, ch is B
After tolower, ch is b
Before toupper, ch2 is y
After toupper, ch2 is Y

除了以上介绍的这些函数,cctype库还包括了其他一些函数,如isspace函数用于判断一个字符是否为空格字符,isprint函数用于判断一个字符是否可以被打印出来等等。通过使用这些函数,我们可以更方便地对字符进行处理。