当前位置: 代码迷 >> 综合 >> [C++ Primer Plus]学习笔记 --字符函数库cctype
  详细解决方案

[C++ Primer Plus]学习笔记 --字符函数库cctype

热度:35   发布时间:2023-12-03 08:59:35.0

c++中应该是#include <cctype>

c中应该是#include <ctype.h>

以下为字符函数库中常用的函数:

函数名称 返回值
isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
isalpha() 如果参数是字母,该函数返回真
isblank() 如果参数是空格或水平制表符,该函数返回true
iscntrl() 如果参数是控制字符,该函数返回true
isdigit() 如果参数是数字(0~9),该函数返回true
isgraph() 如果参数是除空格之外的打印字符,该函数返回true
islower() 如果参数是小写字母,该函数返回true
isprint() 如果参数是打印字符(包括空格),该函数返回true
ispunct() 如果参数是标点符号,该函数返回true
isspace()

如果参数是标准空白字符,如空格、进纸、换行符、回车

、水平制表符或者垂直制表符,该函数返回true

isupper() 如果参数是大写字母,该函数返回true
isxdigit() 如果参数是十六进制的数字,即0~9、a~f、A~F,该函数返回true
tolower() 如果参数是大写字符,则返回其小写,否则返回该参数
toupper() 如果参数是小写字母,则返回其大写,否则返回该参数

常用的有:

tolower()——toupper()

isupper()——islower()

isalnum()——isalpha()

//ccytypes.cpp--using the ctype.h library
#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);  while (ch != '@'){if (isalpha(ch))chars++;else if (isspace(ch))whitespace++;else if (isdigit(ch))digits++;else if (ispunct(ch))punct++;elseothers++;cin.get(ch);}cout << chars << "letters,"<< whitespace << "whitespace,"<< digits << "digits,"<< punct << "punctuations,"<< others << "others" << endl;return 0;
}