字符函数库cctype
该函数库里包含了一些与字符相关的,非常方便的一些函数,可以简化程序员的工作。
例如,当判断一个字符是否是字母时,以下两条语句是等价的,其中第二条语句用到了字符函数库里的函数。
#include<bits/stdc++.h>
using namespace std;
int main()
{
char ch;
cin>>ch;
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
printf("yes\n");
if(isalpha(ch)) printf("yes\n");
return 0;
}
第一种写法只有在a-z的字符编码是连续的才能成立。对于ASCII码来说是成立的,但对于其他一些编码,并非总是如此。
以下列出该库里的一些函数
if(isalnum(ch)) ; //如果是字母或数字,返回true
if(isalpha(ch)) ; //如果是字母,返回true
if(iscntrl(ch)) ; //如果是控制字符,返回true
if(isdigit(ch)) ; //如果是数字,返回true
if(isgraph(ch)) ; //如果是除空格之外的打印字符,返回true
if(islower(ch)) ; //如果是小写字母,返回true
if(isprint(ch)) ; //如果是打印字符(包括空格),返回true
if(ispunct(ch)) ; //如果是标点符号,返回true
if(isspace(ch)) ; //如果是标准空白字符(空格,换行,回车等),返回true
if(isupper(ch)) ; //如果是大写字母,返回true
if(isxdigit(ch)) ; //如果是16进制数(0~9,a~f,A~F),返回true
if(tolower(ch)) ; //如果是大写字母,则返回其小写,否则返回本身
if(toupper(ch)) ; //如果是小写,则返回其大写,否则返回本身