#include<ctype.h>判定头文件的使用及三目表达式(重写atoi函数,更加完善)

本文详细解读了C++标准库中用于字符处理的一系列常用函数,包括字母、数字、控制字符等的判断与转换,以及整型字符串转换成整数的自定义实现。通过实际代码示例,深入探讨了这些函数的功能与应用。
  1. //一共有14个子函数
  2. 2.1 intisalpha(int ch)    检查ch是否是字母.
  3. 2.2 intiscntrl(int ch)  检查ch是否控制字符(其ASCII码在0和0x1F之间,数值为 0-31).
  4. 2.3 intisdigit(int ch) 检查ch是否是数字(0-9)
  5. 2.4 intisgraph(int ch) 检查ch是否可显示字符(其ASCII码在ox21到ox7E之间),不包括空格
  6. 2.5 intislower(int ch)  检查ch是否小写字母(a-z)
  7. 2.6 intisupper(int ch)  检查ch是否是大写字母(A-Z)
  8. 2.7 tolower  将ch字符转换为小写字母
  9. 2.8 toupper  将ch字符转换成大写字母
  10. 2.9 isalnum  检查ch是否是字母或数字
  11. 2.10 isprint  检查ch是否是可打印字符(包括空格),其ASCII码在ox20到ox7E之间
  12. 2.11 ispunct 检查ch是否是标点字符(不包括空格),即除字母,数字和空格以外的所有可打印字符
  13. 2.12 isspace   检查ch是否是空格符和跳格符(控制字符)或换行符
  14. 2.13 isxdigit   检查ch是否是一个16进制数学字符(即0-9,或A-F,或a-f)
  15. 2.14 isascii  测试参数是否是ASCII码0-127

//重写了 atoi函数

#include<stdio.h>
#include<ctype.h>


int atoi(const char* str)
{
   int i,sign ;
   for(i = 0; isspace(str[i]);i++)
  ;
   sign = (str[i]=='-')? -1:1 ;    //三目表达式,不多解释
   if(str[i]=='+'||str[i]=='-')
  i++;
   for(int n = 0 ;isdigit(str[i]);i++)
  n = 10*n + (str[i] - '0');
   return n*sign ;

}
int main()
{
   char * s ="  -13.23";


   printf("%d \n",atoi(s));


   return 0 ;


}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值