高级会员

- 积分
- 598
- 金钱
- 598
- 注册时间
- 2014-4-14
- 在线时间
- 76 小时
|
发表于 2017-1-13 17:42:02
|
显示全部楼层
[mw_shl_code=c,true]"
...atoi
atoi(将字符串转换成整型数)
相关函数 atof,atol,atrtod,strtol,strtoul
表头文件 #include<stdlib.h>
定义函数 int atoi(const char *nptr);
函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数
字或正负符号才开始做转换,而再遇到非数字或字符串结束时
('\0')才结束转换,并将结果返回。
返回值 返回转换后的整型数。
附加说明 atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例:
/* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
执行 c=356
"
int my_atoi(char *pstr)
{
int Ret_Integer = 0;
int Integer_sign = 1;
// 判断指针是否为空
if(pstr == NULL) return 0;
// 跳过前面的空格字符
while(isspace(*pstr)){pstr++;}
/*
* 判断正负号
* 如果是正号,指针指向下一个字符
* 如果是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符
*/
if(*pstr == '-') {Integer_sign = -1;}
if(*pstr == '-' || *pstr == '+') {pstr++;}
//把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer
while(*pstr >= '0' && *pstr <= '9')
{
Ret_Integer = Ret_Integer * 10 + *pstr - '0';
pstr++;
}
Ret_Integer = Integer_sign * Ret_Integer;
return Ret_Integer;
}
[/mw_shl_code] |
|