- //一共有14个子函数
- 2.1 intisalpha(int ch) 检查ch是否是字母.
- 2.2 intiscntrl(int ch) 检查ch是否控制字符(其ASCII码在0和0x1F之间,数值为 0-31).
- 2.3 intisdigit(int ch) 检查ch是否是数字(0-9)
- 2.4 intisgraph(int ch) 检查ch是否可显示字符(其ASCII码在ox21到ox7E之间),不包括空格
- 2.5 intislower(int ch) 检查ch是否小写字母(a-z)
- 2.6 intisupper(int ch) 检查ch是否是大写字母(A-Z)
- 2.7 tolower 将ch字符转换为小写字母
- 2.8 toupper 将ch字符转换成大写字母
- 2.9 isalnum 检查ch是否是字母或数字
- 2.10 isprint 检查ch是否是可打印字符(包括空格),其ASCII码在ox20到ox7E之间
//重写了 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 ;
}
#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 ;
}
本文详细解读了C++标准库中用于字符处理的一系列常用函数,包括字母、数字、控制字符等的判断与转换,以及整型字符串转换成整数的自定义实现。通过实际代码示例,深入探讨了这些函数的功能与应用。
619

被折叠的 条评论
为什么被折叠?



