字符检测 cctype(ctype.h)

cctype(ctype.h)头文件用于字符检测,包括以下函数:
      字符检测类函数
      返回值:是则返回一个非0值,否返回0.
int isalnum ( int c ); 检查字符是否为字母或数字 
int isalpha ( int c ); 检查字符是否为字母 
int isblank ( int c ); 检查字符是否为空白 
int iscntrl ( int c ); 检查字符是否为控制字符 
int isdigit ( int c ); 检查字符是否为十进制数字 
int isgraph ( int c ); 检查字符是否为英文字母 
int islower ( int c ); 检查字符是否为小写字母 
int isprint ( int c ); 检查字符是否为可打印字符 
int ispunct ( int c ); 检查字符是否为标点字符 
int isspace ( int c ); 检查字符是否为一个空白 
int isupper ( int c ); 检查字符是否为大写字母字符 
int isxdigit ( int c ); 检查字符是否为十六进制数字 
字符转换类函数
int tolower( int c ); 	将大写字符转换成小写字母 
int toupper ( int c ); 将小写字母装换成大写字母 
ASCII码字符检测结果表
下图为ASCII字符检测结果表格,画X的表示“是”(即真,返回值非0)

#include <iostream>
#include <cctype>
#include <cstdio>
using namespace std;
void printHead();
int main()
{
    int choice;
    char str_ch[50];
    char str_ch1[50];
    cout<<"input your choice,(0:大小写转换测试,1:打印ASCII字符检测结果表)\n";
    cin>>choice;
    if(choice == 0)
    {
        cout<<"input a string\n";
        cin>>str_ch;
        cout<<"源字符串:"<<str_ch<<endl;
        int len = sizeof(str_ch);
        for(int i =0;i<len;i++)
            str_ch1[i] = tolower(str_ch[i]);
        cout<<"小写字符串:"<<str_ch1<<endl;
        for(int i =0;i<len;i++)
            str_ch1[i] =toupper(str_ch[i]);
        cout<<"大写字符串:"<<str_ch1<<endl;

    }
    else if(choice == 1)
    {
        printHead();
        for(int i=0;i<=127;i++)
        {
            printf("0x%02x%6d",i,i);
            if(i>=8&&i<=13 || i==127 )
            {
                printf("%10s","");
            }
            else
                printf("%10c",i);
            (isalnum(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isalpha(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isblank(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (iscntrl(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isdigit(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isgraph(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (islower(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isprint(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (ispunct(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isspace(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isupper(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            (isxdigit(i)!=0)?printf("%10s","Y"):printf("%10s","N");
            printf("\n");

        }
    }
    return 0;
}
void printHead()
{
    printf("%10s","value");
    printf("%10s","chara");
    printf("%10s","isalnum");
    printf("%10s","isalpha");
    printf("%10s","isblank");
    printf("%10s","iscntrl");
    printf("%10s","isdigit");
    printf("%10s","isgraph");
    printf("%10s","islower");
    printf("%10s","isprint");
    printf("%10s","ispunct");
    printf("%10s","isspace");
    printf("%10s","isupper");
    printf("%10s","isxdigit");
    printf("\n");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值