字符函数库 --- cctype
Posted Codorld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符函数库 --- cctype相关的知识,希望对你有一定的参考价值。
一、
C++从C语言中继承一个与字符相关的、非常方便的函数软件包,他可以简化诸如确定字符是否为大写字母‘数字、标点符号等工作,这些函数的原型在头文件cctype(老式的为ctype.h)中定义的。例如,如果ch是一个字母,则isalpha (ch) 将返回一个非零值,否则返回0.同样,如果ch是标点符号(如逗号或句号),函数ispunct (ch) 将返回true。 (这写函数的返回型为int,而不是bool,但通常bool转换让您能够将它们视为bool型)。
例如:
1 #include <iostream>
2 #include <algorithm>
3 #include <string>
4
5 #include <cstdio>
6 #include <cstdlib>
7 #include <cstring>
8 #include <climits>
9 #include <cctype>
10
11 typedef long long ll;
12 using namespace std;
13
14 int main () {
15 char ch = \'a\';
16 cout << isalpha(ch) << endl;
17 //判断字母,返回数字或者0
18 ch = \',\';
19 if (ispunct(ch))
20 cout << ispunct(ch) << " and " << (bool)ispunct(ch) << endl;
21 return 0;
22 }
23 /*
24 输出为:
25 2
26 16 and 1
27 */
以下是对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的主要内容,如果未能解决你的问题,请参考以下文章