atio 介绍
int atoi(const char * str)
- 将字符串转换为整数
模拟实现
int status = 0;
int my_atoi(const char *str)
{
assert(str);
int flag = 1;
long long result = 0;
int i = 0;
while (isspace(str[i])) {
i++;
}
if (str[i] == '-') {
flag = -flag;
i++;
}
while (str[i]) {
if (isdigit(str[i])) //判断字符是否是十进制数字
{
result = result * 10 + flag * (str[i] - '0');
if (result > INT_MAX || result < INT_MIN) {
status = 1; //越界
break;
}
}
else {
status = 2;
break;
}
i++;
}
return (int)result;
}
int main()
{
const char *str = " 12345";
int res = my_atoi(str);
printf("status: %d, result: %d\n", status, res);
system("pause");
return 0;
}