【C++】学习笔记二十三——字符函数库cctype

原创 2017年01月03日 21:51:40

字符函数库cctype

在头文件cctype(ctype.h)中定义了一些函数原型,可以简化输入确定字符是否为大写字母、数字、标点符号等工作。
例如:
如果ch是一个字母,则isalpha(ch)函数返回一个非零值,否则返回0;
如果ch是一个标点符号,则ispunct(ch)函数返回非零值,否则返回0;
(这些函数的返回类型为int,而不是bool,但通常bool转换让我们能够将它们视为bool类型)

程序6.8

#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++;
        else
            others++;
        cin.get(ch);
    }
    cout << chars << " letters, "
        << whitespace << " whitespace, "
        << digits << " digits, "
        << punct << " punctuations, "
        << others << " others.\n";
    system("pause");
    return 0;
}

下面是该程序的运行情况,注意,空白字符计数包括换行符:
这里写图片描述

下表列出了cctype中的字符函数:

函数名称 返回值
isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
isalpha() 如果参数是字母,该函数返回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() 如果参数是小写字符,该函数返回其大写,否则返回该参数
版权声明:本文为博主原创文章,未经博主允许不得转载。

C++ 标准库之cctype

C++ 语言下头文件:#include 说明: 字符处理库功能一:字符测试1> 函数原型均为int isxxxx(int)2> 参数为int, 任何实参均被提升成整型3> 只能正确处理处于[0, 12...
  • akof1314
  • akof1314
  • 2009年10月01日 01:50
  • 9027

C/C++知识扩充_cctype和climits的用法

cctype和climits的用法  一、 cctype中通常包括一些常用函数的判断,如某个字符是否为大写,用isupper()如果参数是大写字母,函数返回true, 还有像isalnum...
  • essencelite
  • essencelite
  • 2013年09月18日 21:11
  • 3759

C/C++知识扩充_cctype和climits的用法

cctype和climits的用法  一、 cctype中通常包括一些常用函数的判断,如某个字符是否为大写,用isupper()如果参数是大写字母,函数返回true, 还有像isalnum...
  • essencelite
  • essencelite
  • 2013年09月18日 21:11
  • 3759

字符检测 cctype(ctype.h)

cctype(ctype.h)头文件用于字符检测,
  • lion_hbeu
  • lion_hbeu
  • 2014年04月17日 10:37
  • 1054

C/C++库函数(tolower/toupper)实现字母的大小写转换

C/C++库函数(tolower/toupper)实现字母的大小写转换     本文将介绍库函数实现字母的大小写转换,常用到的是在ctype.h(C++中是cctype)库文件下定义的函...
  • laozhuxinlu
  • laozhuxinlu
  • 2016年05月30日 18:15
  • 10382

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

c++中应该是#include c中应该是#include 以下为字符函数库中常用的函数:函数名称 返回值 isalnum() 如果参数是字母数字,即字母或数字,该函数返回true isalpha...
  • qq_37999723
  • qq_37999723
  • 2017年07月01日 23:28
  • 142

C++ Primer Plus学习笔记 第六章 cctype字符函数库 switch语句 continue和break语句 基本文件输入输出

声明:本文整理自《C++ Primer Plus》 1.错误防范。 将表达式mynumber==3反转为3==mynumber,以此来捕获将相等运算符写成赋值运算符。 2.&&运算符 &&...
  • wangtiankuo
  • wangtiankuo
  • 2017年03月25日 23:34
  • 231

C++ 字符函数库cctype

C++从C语言继承了一个与字符相关的函数软件包,可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数的原型在头文件cctype(老式的风格为ctype.h)中定义的。 #######...
  • u012005313
  • u012005313
  • 2015年07月09日 14:48
  • 607

(八十四)字符函数库cctype

cctype实际上就是一个函数库,他包括多个函数,在调用这些函数的时候,他会自动帮你判断,是否是该函数要求的类型,如果是,返回一个非0 int值(并非固定的)——但可以理解为true值(因为bool后...
  • qq20004604
  • qq20004604
  • 2015年12月08日 20:41
  • 285

STM32学习笔记——使用函数库编程控制GPIO口输出

使用函数库编程控制GPIO口输出 看了网上许多人的代码以及各类开发板所带的例程,大多数使用的都是官方发布的函数库来编程,通过查询后发现,使用函数库来编程可以简化开发过程,并不需要追溯到各个寄存器,通...
  • SahPah
  • SahPah
  • 2014年08月13日 12:04
  • 3061
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C++】学习笔记二十三——字符函数库cctype
举报原因:
原因补充:

(最多只允许输入30个字)