zoukankan      html  css  js  c++  java
  • 学习笔记二十三——字符函数库cctype【转】

    本文转载自:

    字符函数库cctype

    在头文件cctype(ctype.h)中定义了一些函数原型,可以简化输入确定字符是否为大写字母、数字、标点符号等工作。 
    例如: 
    如果ch是一个字母,则isalpha(ch)函数返回一个非零值,否则返回0; 
    如果ch是一个标点符号,则ispunct(ch)函数返回非零值,否则返回0; 
    (这些函数的返回类型为int,而不是bool,但通常bool转换让我们能够将它们视为bool类型)

    程序6.8

    #include<iostream>
    #include<cctype>
    int main()
    {
        using namespace std;
        cout << "Enter text for analysis, and type @"
            " to terminate input.
    ";
        char ch;
        int whitespace = 0;
        int digits = 0;
        int chars = 0;
        int punct = 0;
        int others = 0;
    
        cin.get(ch);
        while (ch != '@')
        {
            if (isalpha(ch))
                chars++;
            else if (isspace(ch))
                whitespace++;
            else if (isdigit(ch))
                digits++;
            else if (ispunct(ch))
                punct++;
            else
                others++;
            cin.get(ch);
        }
        cout << chars << " letters, "
            << whitespace << " whitespace, "
            << digits << " digits, "
            << punct << " punctuations, "
            << others << " others.
    ";
        system("pause");
        return 0;
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    下面是该程序的运行情况,注意,空白字符计数包括换行符: 
    这里写图片描述

    下表列出了cctype中的字符函数:

    函数名称返回值
    isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
    isalpha() 如果参数是字母,该函数返回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() 如果参数是小写字符,该函数返回其大写,否则返回该参数
  • 相关阅读:
    [模板]RMQ(冲刺准备中)
    洛谷 P2569[SCOI2010]股票交易(动规+单调队列)
    洛谷 P3659 [USACO17FEB]Why Did the Cow Cross the Road I G
    粗略了解fill与fill_n
    计蒜客D2T2 蒜头君的排序(动态维护树状数组)
    洛谷 P3478 [POI2008]STA-Station
    洛谷 P2899 [USACO08JAN]手机网络Cell Phone Network
    洛谷 P3112 [USACO14DEC]后卫马克Guard Mark
    洛谷 P3092 [USACO13NOV]没有找零No Change
    洛谷 P2850 [USACO06DEC]虫洞Wormholes 判负环
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/7655136.html
Copyright © 2011-2022 走看看