字符函数库cctpye
来源:互联网 发布:java直角三角形原理 编辑:程序博客网 时间:2024/06/05 06:01
C++从C语言继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数的原型是在头文件cctpye(老式的风格中为ctpye.h)中定义的。例如 ,如ch是一个字母,则isalpha(ch)函数返回一个非零值,否则返回0。同样,如果ch是标点符号(如逗号或者句号),函数ispunct(ch)将返 回true。(这些函数的返回类型为int ,而不是bool,但通常bool转换让您能够将它们视为bool类型。)
使用这些函数比使用AND和OR来测试字符ch是不是字符字母的代码:
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
与使用isalpha()相比:
if(isalpha(ch))
islapha()不仅更容易使用,而且更通用。AND/OR格式假设A-Z的字符编码是连续的,其他的字符的编码不在这个范围内,这种假设对于ASCII码来说是成立的,但通常并非总是如此的。
下面的程序演示了字符函数库的一些使用:
#include<iostream>#include<cctype>using namespace std;int main(){cout<<"Enter text for analysis,and type @ to terminate input."<<endl;char ch;int whitespaces=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))whitespaces++;else if(isdigit(ch))digits++;else if(ispunct(ch))punct++;elseothers++;cin.get(ch);}cout<<chars<<" letters,"<<witespaces<<" witespaces,"<<digits<<" digits,"<<punct<<" punctions."<<otners<<" others.";cout<<endl;return 0;}
下面的表格列出了cctpye软件包中的函数进行总结:
cctpye中的字符函数
函数名称
返回值
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()
如果参数是小写字母,则返回其大写字母,否则返回该参数
- 字符函数库cctpye
- 字符函数库
- 字符函数库#include
- C++ 字符函数库cctype
- cctype字符函数库使用
- 字符函数库cctype
- c++字符函数库 cctype
- 字符函数库 cctype
- C++ 字符函数库cctype
- 字符函数库cctype
- 通用函数库(2) 字符操作
- (八十四)字符函数库cctype
- C/C++字符函数库cctype
- php基础知识 7,字符函数库
- 字符函数库include<ctype.h>和字符串函数库include<string>
- 使用curses.h函数库实现字符动画
- C语言的字符处理函数库
- C/C++中字符函数库ctype.h
- 1、从零开始学习JAVA--关于java那点事
- 离开中软的博客
- HDU 3018 Ant Trip 一笔画问题
- android 睡眠和唤醒过程
- ubuntu10.04解决SQLPLUS上下左右键无法使用问题
- 字符函数库cctpye
- Eclipse中Ctrl+Alt+Down和Ctrl+Alt+Up不起作用解决方法
- 【现代操作系统】进程的通信
- oracle11g表空间
- 无线路由器设置不求人,不会的赶紧收藏哦!无线路由器设置不求人
- HDOJ 1507 - Uncle Tom's Inherited Land* 构图做二分图最大匹配
- CSS z-index 属性的使用方法和层级树的概念
- PHP 生成复杂JSON格式 简单快速方法
- win7下查看被占用端口