字符函数库 - cctype 和 climits 中的符号常量
一、
C++从C语言中继承一个与字符相关的、非常方便的函数软件包,他可以简化诸如确定字符是否为大写字母‘数字、标点符号等工作,这些函数的原型在头文件cctype(老式的为ctype.h)中定义的。例如,如果ch是一个字母,则isalpha (ch) 将返回一个非零值,否则返回0.同样,如果ch是标点符号(如逗号或句号),函数ispunct (ch) 将返回true。 (这写函数的返回型为int,而不是bool,但通常bool转换让您能够将它们视为bool型)。
例如:
#include <iostream>
#include <algorithm>
#include <string> #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <climits>
#include <cctype> typedef long long ll;
using namespace std; int main () {
char ch = 'a';
cout << isalpha(ch) << endl;
//判断字母,返回数字或者0
ch = ',';
if (ispunct(ch))
cout << ispunct(ch) << " and " << (bool)ispunct(ch) << endl;
return ;
}
/*
输出为:
2
16 and 1
*/
以下是对cctype软件包中的函数进行总结。有些系统可能没有表中列出来的一些函数,也可能还有一些在表中没有列出的函数:
| 函数名称 | 返回值 |
| isalnum() | 如果参数是字母数字,即字母或数字,该函数返回true |
| isalpha() | 如果参数是字母,该函数返回true |
| isblank() | 如果参数是空格或水平制表符,该函数返回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() |
如果参数是小写字母,则返回其大写,否则返回该参数 |
函数中使用到的参数(无论是标点符号还是字符)仅限英文的。
二、
头文件climits定义了符号常量来表示类型的限制。如:INT_MAX表示类型int能够储存的最大值,对于windows7系统,为2147483647。编译器厂商提供给了climits文件,该文件指出了编译器中的值。例如,在使用16位int老系统中,climits文件将INT_MAX定义为32767。下表对该文件中定义的符号常量进行了总结:
| 符号常量 | 表示 |
| CHAR_BIT | char 的位数 |
| CHAR_MAX | char 的最大值 |
| CHAR_MIN | char 的最小值 |
| SCHAR_MAX | signed char 的最大值 |
| SCHAR_MIN | signed char 的最小值 |
| UCHAR_MAX | unsigned char 的最大值 |
| SHRT_MAX | short 的最大值 |
| SHRT_MIN | short 的最小值 |
| USHRT_MAX | unsigned short 的最大值 |
| INT_MAX | int 的最大值 |
| INT _MIN | int 的最小值 |
| UINT_MAX | unsigned int 的最大值 |
| LONG_MAX | long 的最大值 |
| LONG_MIN | long 的最小值 |
| ULONG_MAX | unsigned long 的最大值 |
| LLONG_MAX | long long 的最大值 |
| LLONG_MIN | long long 的最小值 |
| ULLONG_MAX | unsigned long long 的最大值 |
climits 文件中包含类似 #define INT_MAX 32767 这样的语句行,当然不会这样简单了,因为int的位数和电脑的位数有关系;类似的:sizeof()函数返回位数和电脑的位数也有关系.
使用就比较简单了,直接当作一个常量使用就可以了,比如:int n = INT_MAX; 或者 cout << INT_MAX << endl;
欢迎码友评论,一起探讨.
<!--手写全文,转载请注明出处:http://www.cnblogs.com/Ddlm2wxm/p/5926317.html-->
字符函数库 - cctype 和 climits 中的符号常量的更多相关文章
- 循环 与 分支语句 和 字符函数库cctype 文件简单处理
循环 for循环 while循环 do while循环 通常,入口条件循环比出口条件循环好,因为循环开始前对条件进行检查 c++11基于范围的for循环 对数组(或容器类,如:vector和a ...
- 学习笔记二十三——字符函数库cctype【转】
本文转载自: 字符函数库cctype 在头文件cctype(ctype.h)中定义了一些函数原型,可以简化输入确定字符是否为大写字母.数字.标点符号等工作. 例如: 如果ch是一个字母,则isalph ...
- C++学习笔记之字符函数库cctype
C++从C语言继承了一个与字符相关的.非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母.数字.标点符号等工作,这些函数原型是在头文件cctype(老式风格ctype.h)中定义的. 下表对这 ...
- 字符函数库 cctype
<cctype> (ctype.h) Character handling functions This header declares a set of functions to cla ...
- 使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理
在头文件climits(limits.h)以宏定义的方式定义了各种符号常量来表示各种整型类型表示数的范围,如int的最大最小值,long的最大最小值等. 符号常量 表示 CHAR_BIT char 的 ...
- python函数库及函数标准库
一.系统库提供的内部函数 字符函数库: 1)str.islower() :字符串是否全部是小写 2)str.isspace() :字符串是否为空 3)help(str):查询字符串函数库 4)str. ...
- Linux 函数库
概述 函数库其实就是函数,只不过是系统所调用的函数.这样说吧,我写了一个软件,所有的功能都需要我自己完成吗?其实是不需要的,因为很多功能是别人已经写好的,我只需要拿来用就好了.这些有独立功能并且可以被 ...
- PHP移动互联网开发笔记(5)——基础函数库
一.数学函数库 ● floor 舍一取整(向下取整) float floor (float $value); <?php echo(floor(0.60)."<br>&qu ...
- C语言学习之我见-memchr()内存查找字符函数
memchr()内存查找字符函数:主要用于从内存中查找自己需要的字符位置. (1)函数原型: void *memchr(const void *_Buf ,int _Val,size_t _MaxCo ...
随机推荐
- C语言练习-学生信息管理系统
题目要求: 学生信息管理系统struct studentInfo{ int id; char name[128]; int age; char sex; int c_score; int cpp_sc ...
- iOS基础 - 数据存取
一.iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档 SQLite3 Core Data 二.应用沙盒 每个iOS应 ...
- hadoop集群的搭建与配置(2)
对解压过后的文件进行从命名 把"/usr/hadoop"读权限分配给hadoop用户(非常重要) 配置完之后我们要创建一个tmp文件供以后的使用 然后对我们的hadoop进行配置文 ...
- 【转】Objective-C并发编程:API和挑战
并发指的是在同一时间运行多个任务.在单核CPU的情况下,它通过分时的方式实现,如果有多个CPU可用,则是真正意义上的多个任务“并行”执行了. OS X和iOS提供了多个API支持并发编程.每个API都 ...
- AHOI1997彩旗飘飘 VIJOS1097合并果子(noip2007)
AHOI彩旗飘飘 这是一题类似于排列组合的题目吧...递推状态 数组f[100][100][100][2];表示红旗数目,黄旗数目,颜色改变的次数,末尾的旗的颜色(0为黄,1为红) 之后就是如何写递推 ...
- Redis几个认识误区
前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Serv ...
- EL表达式与三目运算符
在页面实现常量替换,比如 entity.auditi 的值如果为0显示不需要否则显示需要 因为需求就这两个值 所以使用三目运算符比较简洁 如果值为很多个 可使用if else进行判断 ${entit ...
- IP:网际协议
IP:网际协议 1.概述 IP是TCP/IP协议族中最为核心的协议.所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输. IP提供不可靠,无连接的数据报传送服务. ...
- 安全验证之使用摘要认证(digest authentication)
安全验证之使用摘要认证(digest authentication) 在前一篇文章中,主要讨论了使用HTTP基本认证的方法,因为HTTP基本认证的方式决定了它在安全性方面存在很大的问题,所以接下来看看 ...
- 使用 javascript 来实现 观察者模式
以[猫叫.老鼠跑.主人醒]为例子,使用 javascript 来实现 观察者模式 (有在线演示) 2013-06-24 08:35 by 金色海洋(jyk)阳光男孩, 572 阅读, 4 评论, 收藏 ...