字符函数库cctype的使用_C++
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++相关推荐
- C++字符函数库 cctype
C++字符函数库 cctype cctype简述 cctype库内函数 最后 cctype简述 C++从C语言中继承了一个与字符相关的函数库(cctype),它可以确定字符是否为大写或小字母.数字.标 ...
- C++有用的字符函数库
cctype 从C语言继承而来,老式格式是ctype.h,常用的有:
- c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- c++调用gcd函数_c++函数库中一些实用的函数
有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数. 这里只记录一些不太常见的函数. ------------------------------- ...
- c语言函数库——ispunct函数 判断字符是否为标点符号或特殊字符
c语言函数库--ispunct函数 判断字符是否为标点符号或特殊字符 头文件:#inlude <ctype.h> spunct() 函数用来检测一个字符是否为标点符号或特殊字符,其原型为: ...
- keil lib 只调用自己的函数_C语言学习篇(28)——函数库
引言 我们在编写代码时,常常会写一个.c源文件和与之对应的.h文件(例如a.c和a.h),并在源文件.c中定义(具体实现)一些函数,在.h文件中声明, 这样我们就可以在其他源文件中包含该头文件,来调用 ...
- javaweb学习总结(三十)——EL函数库
一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
文章目录 一. 哈夫曼编码开关 二. 哈夫曼编码原理 三. libjpeg-turbo 函数库 四. libjpeg-turbo 函数库下载 [Android 内存优化]图片文件压缩 ( Androi ...
- Linux C函数库参考手册
第1章 字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ascii码字符)isblank(测试字符是否为空格字符)isc ...
最新文章
- 利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 1...
- WCF中的ServiceHost初始化两种方式(宿主)
- js动态渲染html页面,利用Scrapy-Splash抓取JS动态渲染的网页数据
- web前端技巧:如何在浏览器地址栏执行html代码
- android自定义队列,Android 消息机制(一)消息队列的创建与循环的开始 Looper与MessageQueue...
- jpa jql 时间范围查询_SpringBoot整合JPA案例
- (转)Windows 性能监视器工具-perfmon
- 【内购篇】5 分钟教你成为会赚钱的独立开发者
- 银河麒麟arm64位操作系统卸载jdk及安装jdk
- and design 如何引入阿里图表矢量库 创建自定义icon
- css中border属性设置
- 关于 WARN conf.Configuration: bad conf file: element not property
- flutter onPressed onTap等手势检测及触摸事件处理
- 学习 Python 之 SymbolicPython库
- Python3D绘图后用自带展示器查看(可旋转)
- java里jvm,jer,jdk的区别
- linux hudson svn,Hudson Maven SVN快速搭建持续集成环境
- 有关int,Int32的疑惑解答
- 数据结构基础之图(上):图的基本概念
- 修复被劫持、篡改的IE主页