判断字符类别的函数汇总

添加头文件:cctype或者ctype,注意ctype包含的函数没有cctype多,如果出错,改用cctype头文件。这些函数是宏定义。

 函数   字符类别            返回非零值的字符  
 isdigit()             
十进制数      0--9  
 isxdigit()          十六进制数   0--9,a—f,或A--F  
 isalnum()              字母数字符号         0--9,a--Z,或A--Z  
 isalpha()                字母     a--Z或A--Z  
 islower()              小写字母      a --Z  
 isupper()      大写字母             A--Z  
 isspace()  空白符                           空格符,水平制表符,垂直制表符,换行符,换页符,或回车符  
 isgraph()                       非空白字符    任何打印出来不是空白的字符(ASCII码从21到7E  
 isprint()                       可打印字符      所有非空白字符,加上空格符  
 ispunct()                            标点符      除字母数字符号以外的所有非空白字符  
 iscntrl()                                  控制字符  除可打印字符外的所有字符(ASCII码从00到1F,加上7F)            
toupper() 转换为大写字母    
tolower() 转换为小写字母    
     

大小写转换函数:

#include<iostream>
#include<cctype>
#include<string>
using namespace std;

int main(){
	string str;
	while(cin>>str){

	   for(int i=0;i<str.size();i++){
		   cout<<str[i]<<":"<<endl;{
		   if(isdigit(str[i]))
			   cout<<"十进制  :";
		   else if(isxdigit(str[i]))
			   cout<<"十六进制:";
		   else if(isalnum(str[i]))
			   cout<<"字母数字:";
		   else if(isalpha(str[i]))
			   cout<<"字母    : ";
		   else if(islower(str[i]))
			   cout<<"小写字母:";
		   else if(isupper(str[i]))
			   cout<<"大写字母:";
		   else if(isspace(str[i]))
			   cout<<"空白符 :";
		   else if(isgraph(str[i]))
			   cout<<"非空白字符:";
		   else if(isprint(str[i]))
			   cout<<"可打印字符:";
		   else if(ispunct(str[i]))
			   cout<<"标点符号:";
		   else if(iscntrl(str[i]))
			   cout<<"控制字符:";
		   }
		   cout<<endl;
	    }
	
	 }
	return 0;
}



你可能感兴趣的:(判断字符类别的函数汇总)