cctype头文件(字符处理库)的使用--gyy整理
来源:互联网 发布:西南交大信息与网络 编辑:程序博客网 时间:2024/06/06 12:42
C++ 中cctype头文件的使用
头文件cctype(字符处理库)中定义了有关字符判断与处理的库函数,使用前要包含头文件:
#include <cctype>
using namespace std;
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() 如果参数是小写字符,返回其大写,否则返回该参数
cctype头文件中的常用函数功能主要分为以下两类:
功能一:字符测试1> 函数原型均为int isxxxx(int)
2> 参数为int, 任何实参均被提升成整型
3> 只能正确处理处于[0, 127]之间的值
如某个字符是否为大写,用isupper()如果参数是大写字母,函数返回true,还有像isalnum(),如果参数是字母数字,即字母或者数字,函数返回true.下面我们通过一个小示例来查看输出结果:
cout << "iis : " << isupper('b') << "\n";
输出:i is : 0
如果把参数改为'B',则会输出:i is : 1
功能二:字符映射
1> 函数原型为int toxxxx(int)
2> 对参数进行检测, 若符合范围则转换, 否则不变
inttolower(int); 'A'~'Z' ==> 'a'~'z'
int toupper(int); 'a'~'z' ==> 'A'~'Z'
以下程序用循环判断输出ASCII从0~127之间的字符类型//用循环判断ASCII从0~127之间的字符类型/*cctype中的常用函数函数名称 返回值isalnum() 如果参数是字母数字,即字母或者数字,函数返回trueisalpha() 如果参数是字母,函数返回trueiscntrl() 如果参数是控制字符,函数返回trueisdigit() 如果参数是数字(0-9),函数返回trueisgraph() 如果参数是除空格之外的打印字符,函数返回trueislower() 如果参数是小写字母,函数返回trueisprint() 如果参数是打印字符(包括空格),函数返回trueispunct() 如果参数是标点符号,函数返回trueisspace() 如果参数是标准空白字符,如空格、换行符、水平或垂直制表符,函数返回trueisupper() 如果参数是大写字母,函数返回trueisxdigit() 如果参数是十六进制数字,即0-9、a-f、A-F,函数返回truetolower() 如果参数是大写字符,返回其小写,否则返回该参数toupper() 如果参数是小写字符,返回其大写,否则返回该参数*/#include <iostream>#include <cctype>using namespace std;int main(){unsigned char c='\0';for(;(int)c<=127;c++){cout<<"ASCII为 "<<(int)c<<" 的字符为 ";if(iscntrl(c))//判断是否为控制字符{cout<<(iscntrl(c)?"控制字符 ":""); cout<<(isspace(c)?"标准空白字符,如空格、换行符、水平或垂直制表符":"");}else //非控制字符{ cout<<c<<" ";cout<<(isprint(c)?"打印字符(包括空格) ":""); cout<<(isgraph(c)?"除空格之外的打印字符 ":"");cout<<(isalnum(c)?"字母数字 ":"");cout<<(isalpha(c)?"字母 ":""); cout<<(islower(c)?"小写字母 ":"");cout<<(isupper(c)?"大写字母 ":""); cout<<(isdigit(c)?"数字(0-9) ":"");cout<<(isxdigit(c)?"十六进制数字(0-9,A-F,a-f) ":""); cout<<(ispunct(c)?"标点符号 ":"");}cout<<endl;//cout<<"============================================="<<endl; }return 0;}
运行结果
- cctype头文件(字符处理库)的使用--gyy整理
- cctype头文件中字符处理函数列表
- 使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理
- cctype中的字符函数,头文件#include <cctype>
- [C++STDlib基础]关于单字符的操作——C++标准库头文件<cctype>
- 使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理
- cctype头文件中定义的函数
- 很有用的cctype头文件
- 头文件cctype的函数系列
- 关于cctype头文件
- cctype头文件
- 关于cctype头文件
- c++字符处理 cctype
- cctype字符函数库使用
- 头文件 ctype.h/cctype
- cctype头文件中的函数
- cctype 常用字符处理函数
- C++不同进制整数的使用--gyy整理
- COM组件调用报错
- HDU 4705 Y 多校训练第十场1010
- 中文编码问题
- IOS开发笔记:关于SQL
- 约瑟夫问题java描述
- cctype头文件(字符处理库)的使用--gyy整理
- 企业信息化如何做?
- Foreign Language_english_感叹句
- Eclipse java.lang.OutOfMemoryError: Java heap space 解决方法
- [twitter] 如何实现 tail - f
- 使用termcolor模块
- 循环与递归
- hdu 4572 Bottles Arrangement找规律简单题
- Activity生命周期