cctype <ctype.h> <cctype>

简介:

英文原文:http://www.cplusplus.com/reference/clibrary/cctype/

cctype (ctype.h)

字符处理函数

这个头文件声明了一系列用来分类和转换单个字符的函数。

所有这些函数都把参数(单个字符)视为与之等值的整数,并且返回一个整数。该返回值可能是另外一个字符,也可能是一个代表布尔值的值(0表示 false,而另外一个不等于0的整数代表 true)。


这里有两类函数:

首先,归类函数可以检查作为参数传递过来的单个字符是否属于某一特定类。如下所示:

isalnum 检查字符是否是字母或者数字(函数)
isalpha 检查字符是否是字母(函数)
iscntrl 检查字符是否是控制字符(函数)
isdigit 检查字符是否是十进制数字(函数)
isgraph 检测字符是否为可显示字符(函数)
islower 检测字符是否为小写字母(函数)
isprint 检测字符是否为可打印字符(函数)
ispunct 检测字符是否为标点符号(函数)
isspace 检测字符是否为空白(函数)
isupper 检测字符是否为大写字母(函数)
isxdigit 检查字符是否是十六进制数字(函数)

其次,下面两个函数可以转换字母大小写:
tolower 将大写字母转换成小写字母(函数)
toupper 将小写字母转换成大写字母(函数)

对于第一类函数,这里是一个关于每个函数是怎么考虑原始的127个ASCII字符的图表。(x 表示该函数处理那个字符时,会返回true)

ASCII values characters iscntrl isspace isupper islower isalpha isdigit isxdigit isalnum ispunct isgraph isprint
0x00 .. 0x08 NUL, (other control codes) x                    
0x09 .. 0x0D (white-space control codes: '\t','\f','\v','\n','\r') x x                  
0x0E .. 0x1F (other control codes) x                    
0x20 space (' ')   x                 x
0x21 .. 0x2F !"#$%&'()*+,-./                 x x x
0x30 .. 0x39 0123456789           x x x   x x
0x3a .. 0x40 :;<=>?@                 x x x
0x41 .. 0x46 ABCDEF     x   x   x x   x x
0x47 .. 0x5A GHIJKLMNOPQRSTUVWXYZ     x   x     x   x x
0x5B .. 0x60 [\]^_`                 x x x
0x61 .. 0x66 abcdef       x x   x x   x x
0x67 .. 0x7A ghijklmnopqrstuvwxyz       x x     x   x x
0x7B .. 0x7E {|}~                 x x x
0x7F (DEL) x                    

扩展字符(0x7F以后的字符)可能属于多种不同的种类,依赖于local地区设置和平台。作为一个通用规则,在支持扩展字符的大多数平台上,对于标准的C语言local地区设置而言,ispunct, isgraph 和 isprint在处理这些扩展字符时,都会返回true。
相关文章
|
存储 算法 C++
C++中的字符串操作&lt;cstring&gt;和&lt;string&gt;的区别
目录 目录 参考资料 字符串 cstring和string的区别在哪 string类的实现 注意不要盲目相信以下内容! 不要盲目相信以下内容! 不要盲目相信以下内容! (重要的事情说三遍),虽然以下内容也经过了我的验证,但是我的验证可能有错误的地方,欢迎大家留言告知。
1279 0
实现string类的操作符重载 + = &gt; &lt; == != &gt;&gt; &lt;&lt;
<pre code_snippet_id="596931" snippet_file_name="blog_20150203_1_6205569" name="code" class="objc">//MyString.h #pragma once #include &lt;iostream&gt; using namespace std; class MyString { priva
1357 0