概述:

  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​