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;
}
|