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 characterwhile (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++;elseothers++;cin.get(ch); // get next character}cout << chars << " letters, "<< whitespace << " whitespace, "<< digits << " digits, "<< punct << " punctuations, "<< others << " others.\n";return 0;
}