C++ | 字符函数库 cctype

1 基本函数

C++从C继承了与字符相关的函数软件包,可以简化诸如是否为大小写字母、数字、空格和标点符号等工作,函数原型在头文件 cctype 中定义。

函数名称 含义及返回值
isalpha() 参数是字母,返回true
isdigit() 参数是数字(0~9),返回true
islower() 参数是小写字母,返回true
isupper() 参数是大写字母,返回true
ispunct() 参数是标点符号,返回true
isspace() 参数是空白字符(空格、换行、回车、水平制表等),返回true
isxdigit() 参数是十六进制,返回true
tolower() 参数是大写字母,则返回小写字母,否则返回该参数
toupper() 参数是小写字母,则返回大写字母,否则返回该参数

2 实例应用

#include <iostream>
#include <cctype>
int main()
{
    using namespace std;
    cout << "Enter text for analysis, and type @"
            " to terminate input.\n";
    char ch;  
    int whitespace = 0;
    int digits = 0;
    int chars = 0;
    int punct = 0;
    int others = 0;

    cin.get(ch);                // get first character
    while (ch != '@')            // test for sentinel
    {
        if(isalpha(ch))         // is it an alphabetic character?
            chars++;
        else if(isspace(ch))    // is it a whitespace character?
            whitespace++;
        else if(isdigit(ch))    // is it a digit?
            digits++;
        else if(ispunct(ch))    // is it punctuation?
            punct++;
        else
            others++;
        cin.get(ch);            // get next character
    }
    cout << chars << " letters, "
         << whitespace << " whitespace, "
         << digits << " digits, "
         << punct << " punctuations, "
         << others << " others.\n";
    return 0; 
}

Guess you like

Origin blog.csdn.net/qq_38844835/article/details/121547693