atoi 函数是将一个字符串转换为一个整型
模拟实现atoi函数:
#include<stdio.h>
#include<assert.h>
#include<ctype.h>
#pragma warning(disable:4996)
int my_atoi(char *str)
{
assert(str);
long long sum = 0;
int flag = 1;
if (*str == '\0')
{
sum = 0;
}
while (isspace(*str))
{
str++;
}
if (*str == '-')
{
str++;
flag = -flag;
}
if (*str == '+')
{
str++;
}
while (*str)
{
if (isdigit(*str))
{
sum = sum * 10 + (*str - '0')*flag;
str++;
}
else
{
break;
}
}
return (int)sum;
}
int main()
{
int ret = my_atoi(" -1234abc");
printf("%d\n", ret);
system("pause");
return 0;
}
运行出的结果:-1234