C++经典知识拾遗

第001篇:字符函数库cctype的使用


文章目录

  • C++经典知识拾遗
    • 第001篇:字符函数库cctype的使用
  • 一、cctype库是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

一、cctype库是什么?

C++从C语言继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数的原型是在头文件cctype(老式的风格中为ctype.h)中定义的。

例如,如果ch是一个字母,则isalpha ( ch)函数返回一个非零值,否则返回0。同样,如果 ch是标点符号(如逗号或句号),函数 ispunct ( ch )将返回true。(这些函数的返回类型为int,而不是bool,但通常bool转换让您能够将它们视为bool类型。)

使用这些函数比使用AND和OR运算符更方便。

例如,下面是使用AND和OR来测试字符ch是不是字母字符的代码:

if ((ch >= 'a' && ch <= 'z') ll(ch >= 'A' && ch <= 'Z'))

与使用isalpha()相比:

if (isalpha(ch))

isalpha()不仅更容易使用,而且更通用。

AND/OR 格式假设A-Z的字符编码是连续的,其他字符的编码不在这个范围内。这种假设对于ASCII码来说是成立的,但通常并非总是如此。

下边是cctype中的字符函数清单:

函数名称 返回值
isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
isalpha() 如果参数是字母,该函数返回true
iscntrl() 如果参数是控制字符,该函数返回true
isdigit0 如果参数是数字(0~9),该函数返回 true
isgraph() 如果参数是除空格之外的打印字符,该函数返回 true
islower() 如果参数是小写字母,该函数返回 true
isprint() 如果参数是打印字符(包括空格),该函数返回 true
ispunct() 如果参数是标点符号,该函数返回true
isspace() 如果参数是标准空白字符,如空格、进纸、换行符、回车、水平制表符或者垂直制表符,该函数返回true
isupper() 如果参数是大写字母,该函数返回true
isxdigit() 如果参数是十六进制数字,即0~9、a~f或A~F,该函数返回 true
tolower() 如果参数是大写字符,则返回其小写,否则返回该参数
toupperO 如果参数是小写字符,则返回其大写,否则返回该参数

接下来逐个验证一下怎么使用。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

cctype.cpp

# include "../include/cctype.h"
# include <iostream>
# include <cctype>
void cctype(const std::string& str){using namespace std;recorder recorde;for (unsigned long long i = str.length() -1; i > 0 ; --i) {if(isalpha(str[i])) recorde.chars++;else if(isspace(str[i])) recorde.whitespace++;else if(isdigit(str[i])) recorde.digits++;else if(ispunct(str[i])) recorde.punct++;else recorde.others++;}cout << "Character statistics are as follows" << endl;cout << "chars:" << recorde.chars << endl;cout << "digits:" << recorde.digits << endl;cout << "whitespace:" << recorde.whitespace << endl;cout << "punct:" << recorde.punct << endl;
}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了cctype的使用,如有不足欢迎指出。

字符函数库cctype的使用_C++相关推荐

  1. C++字符函数库 cctype

    C++字符函数库 cctype cctype简述 cctype库内函数 最后 cctype简述 C++从C语言中继承了一个与字符相关的函数库(cctype),它可以确定字符是否为大写或小字母.数字.标 ...

  2. C++有用的字符函数库

    cctype 从C语言继承而来,老式格式是ctype.h,常用的有:

  3. c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  4. c++调用gcd函数_c++函数库中一些实用的函数

    有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数. 这里只记录一些不太常见的函数. ------------------------------- ...

  5. c语言函数库——ispunct函数 判断字符是否为标点符号或特殊字符

    c语言函数库--ispunct函数 判断字符是否为标点符号或特殊字符 头文件:#inlude <ctype.h> spunct() 函数用来检测一个字符是否为标点符号或特殊字符,其原型为: ...

  6. keil lib 只调用自己的函数_C语言学习篇(28)——函数库

    引言 我们在编写代码时,常常会写一个.c源文件和与之对应的.h文件(例如a.c和a.h),并在源文件.c中定义(具体实现)一些函数,在.h文件中声明, 这样我们就可以在其他源文件中包含该头文件,来调用 ...

  7. javaweb学习总结(三十)——EL函数库

    一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页 ...

  8. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )

    文章目录 一. 哈夫曼编码开关 二. 哈夫曼编码原理 三. libjpeg-turbo 函数库 四. libjpeg-turbo 函数库下载 [Android 内存优化]图片文件压缩 ( Androi ...

  9. Linux C函数库参考手册

    第1章 字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ascii码字符)isblank(测试字符是否为空格字符)isc ...

最新文章

  1. 利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 1...
  2. WCF中的ServiceHost初始化两种方式(宿主)
  3. js动态渲染html页面,利用Scrapy-Splash抓取JS动态渲染的网页数据
  4. web前端技巧:如何在浏览器地址栏执行html代码
  5. android自定义队列,Android 消息机制(一)消息队列的创建与循环的开始 Looper与MessageQueue...
  6. jpa jql 时间范围查询_SpringBoot整合JPA案例
  7. (转)Windows 性能监视器工具-perfmon
  8. 【内购篇】5 分钟教你成为会赚钱的独立开发者
  9. 银河麒麟arm64位操作系统卸载jdk及安装jdk
  10. and design 如何引入阿里图表矢量库 创建自定义icon
  11. css中border属性设置
  12. 关于 WARN conf.Configuration: bad conf file: element not property
  13. flutter onPressed onTap等手势检测及触摸事件处理
  14. 学习 Python 之 SymbolicPython库
  15. Python3D绘图后用自带展示器查看(可旋转)
  16. java里jvm,jer,jdk的区别
  17. linux hudson svn,Hudson Maven SVN快速搭建持续集成环境
  18. 有关int,Int32的疑惑解答
  19. 数据结构基础之图(上):图的基本概念
  20. 修复被劫持、篡改的IE主页

热门文章

  1. 口碑最好的国产蓝牙耳机,南卡和OPPO哪个蓝牙耳机更值得入手?
  2. 10设置精美的免费网站后台管理系统模板
  3. react ssr原理
  4. 下界和下确界的关系_微分基本定理与上确界
  5. Flex 日语全角半角转换
  6. js实现音频歌词同步
  7. 用matlab检测波峰数量,如何将该组数据计算出波峰与波谷的数量?
  8. word跨页的表格默认增加上表头
  9. Word文件乱码XML
  10. HX711使用教程-数字电子秤常用芯片