[学习标准库]ctype.h

概述:

  ctype.h为我们提供了很多了与字符相关的判断或处理函数,方便地对字符做判断和转换大小写等处理。

  下面以函数为单位进行学习。

  isalnum

  功能:

  测试传入参数其对应的ASCII符号是否为数字或英文字母,当传入参数为A~Z、a~z、0~9,则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符A~Z、a~z、0~9或数65~90、97~122、48~57。

 

  isalpha

  功能:

  测试传入参数其对应的ASCII符号是否为英文字母,当传入参数为A~Z、a~z,则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符A~Z、a~z或数65~90、97~122。

 

  isdigit

  功能:

  测试传入参数其对应的ASCII符号是否为阿拉伯数字,当传入参数为0~9,则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符0~9,或数48~57。

 

  isxdigit

  功能:

  测试传入参数是否为十六进制数字字符,当传入参数为0~9、A~F、a~f,则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符0~9、a~f、A~F或数48~57、65~70、97~102。

 

  isupper

  功能:

  测试传入参数是否为大写英文字母,当传入参数为A~Z,则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符A~Z或数97~122。

 

  islower

  功能:

  测试传入参数是否为小写英文字母,当传入参数为a~z,则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符a~z或数97~122。

 

  isascii

  功能:

  测试传入参数是否为有效的ASCII字符,当传入参数为有效的ASCII标准字符时,函数返回非零值,否则返回零。

  返回非零值的状况:传入对应ASCII码为0~127的字符或者传入数0~127。

 

  isgraph

  功能:

  测试传入参数是否为除空格外的可输出字符,是则返回非零值,否则返回零。

  返回非零值的状况:传入对应ASCII码为33~126的字符或者传入数33~126。

 

  isprint

  功能:

  测试传入参数是否为可输出字符,是则返回非零值,否则返回零

  返回非零值的状况:传入对应ASCII码为32~126的字符或者传入数32~126。

 

  isspace

  功能:

  测试传入参数是否为空字符,是则返回非零值,否则返回零。

  返回非零值的状况:传入对应ASCII码为9、10、11、12、13、32的字符或者这几个数。

 

  iscntrl

  功能:

  测试传入参数是否为控制字符,当传入参数为控制字符时,函数返回非零值,否则返回零。

  返回非零值的状况:传入对应ASCII码为0~31、127的字符或者这些数。 

 

  ispunct  

  功能:

  测试传入参数是否为标点符号,是则函数返回非零值,否则返回零。

  返回非零值的状况:传入对应ASCII码为33~47、58~64、91~96、123~126的字符或这些数。 

  iscsym

  功能:

  测试传入参数是否为英文字母、下划线或者数字,若是则函数返回非零值,否则返回零。

  返回非零值的状况:传入字符0~9、A~Z、_、a~z或数48~57、65~90、95、97~122。

  toupper

  功能:

  将输入的小写英文字母转换为大写英文字母,若传入的不为小写英文字母,则返回原字符。

  注:_toupper与其处理方式不同,是均返回 (原字符-32) 。

 

  tolower 

  功能:

  将输入的大写英文字母转换为小写英文字母,若传入的不为大写英文字母,则返回原字符。

  注:_tolower与其处理方式不同,是均返回  (原字符+32)  。

  另:

  以上函数均适用于标准ASCII码的相关处理,即0~127范围,该头文件中也提供了处理宽字符时相应的函数版本,即形如iswalnum、iswalpha等,功能与此类似,在此就不一一列举,对以上大部分函数可以使用以下程序来做一个简单的测试:

#include <iostream>
#include <cctype>

int main()
{
    int i;
    for(i=0; i<128; i++)
    {
        int j = 要测试的函数名(i);
        char c = i;
        if(0!=j)
            std::cout << i << '\t' << c << std::endl;
    }
    return 0;
}

 

  以上内容撰写时参考:

  《C++函数库查询辞典》 中国铁道出版社

  WinIDE库函数使用手册 http://www.ggv.com.cn/forum/clib/clib.html

更多原创技术内容,可以通过公众号「闷骚的程序员」订阅:
闷骚的程序员
原文地址:https://www.cnblogs.com/mazhuang/p/ctype_h.html