C和指针学习笔记(三)——字符操作

这个系列主要是我学习《C和指针》这本书的一些笔记,主要关于一些小的细节,目的是供自己学习和参考,详细地部分建议大家可以阅读一下《C和指针》这本书


字符分类

每个分类函数接受一个包含字符值的整型参数。函数测试这个字符并返回一个整型值,表示真或假。下表列出了这些字符分类函数以及它们每个所执行的测试。

函数如果它的参数符合下列条件就返回真
iscntrl任何控制字符
isspace空白字符:空格’ ‘、换页 ‘\f’、换行’\n’、回车’\r’、制表符’\t’ 或垂直制表符’\v’
isdigit十进制数字 0~9
isxdigit十六进制数字,包括所有十进制数字、小写字母 a~f、大写字母 A~F
islower小写字母 a~z
isupper大写字母 A~Z
isalpha字母 a~z 或 A~Z
isalnum字母或数字 (a~z、A~Z 或 0~9)
ispunct标点符号,任何不属于数字或字母的图形字符(可打印字符)
isgraph任何图形字符
isprint任何可打印字符,包括图形字符和空白字符

字符转换

转换函数用于把大写字母转换为小写字母或者把小写字母转换为大写字母、

int tolower( int ch );
int toupper( int ch );

toupper 函数返回其参数的对应大写形式,tolower 函数返回其参数的对应小写形式。如果函数的参数并不是一个处于适当大小写状态的字符(即 toupper 的参数不是小写字母或 tolower的参数不是个大写字母),函数将不修改参数,而是直接返回。
注意
直接测试或操作字符会降低程序的可移植性。例如,考虑下面这条语句,它试图测试 ch是否是一个大写字符。

if( ch >= 'A' && ch <= 'Z' )

这条语句在使用 ASCII 字符集的机器上能够运行,但在使用 EBCDIC 字符集的机器上将会失败。另外,下面这条语句

if( isupper( ch ) )

无论机器使用哪个字符集,它都能顺利运行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值