#include <iostream>
#include <vector>
#include <string.h>
using namespace std;
int isSpace(char x)
{
if(x == ' ' or x == '\t' or x == '\n')
{
return 1;
}
else
{
return 0;
}
}
int isDigit(char x)
{
if(x >= '0' and x <= '9')
{
return 1;
}
else
{
return 0;
}
}
int myItoa(const char* nptr)
{
if(nptr == nullptr)
{
cout <<"input is nullptr,return";
return -1;
}
int result;
int c;
int sign;
int maxInt = 0xffffffff;
int minInt = -0xffffffff + 1;
while(isSpace((int)(unsigned char)*nptr))
{
nptr++;
}
c = (int)(unsigned char)*nptr;
sign = c;
if(sign == '+' or sign == '-')
{
c = (int)(unsigned char)*nptr++;
}
result = 0;
while(isDigit(c))
{
result = 10 *result + (c - '0');
c = (int)(unsigned char)*nptr++;//*(nptr++)
}
if(result >= maxInt or result <= minInt)
{
cout <<"value is out boundary,return";
return -1;
}
if(sign == '-')
{
return -result;
}
else
{
return result;
}
}
int main()
{
char *p = "0123+%";
char *null = nullptr;
//cout <<*p++<<endl;
char *p2 = "99999999999999999999999999999999999999999999999999";
cout << atoi(null) << endl;
cout << atoi(p) << endl;
cout << atoi(p2) << endl;
int val;
char str[20];
strcpy(str, "98993489");
val = atoi(str);
printf("src = %s, dest = %d\n", str, val);
getchar();
return 0;
}