/********
atoi实现
*********/
#include<iostream>
#include<assert.h>
using namespace std;
void atoi(const char *str,int &num)
{
assert(str!=NULL);
int result=0;
int sign=1;
if((str[0]>='0'&& str[0]<='9')||(str[0]=='+')||(str[0]=='-'))
{
if((str[0]=='+')||(str[0]=='-'))
{
if(str[0]=='-')
sign=-1;
str++;
}
}
while(*str>='0'&&*str<='9')
{
result=result*10+(*str++-'0');
}
result*=sign;
num=result;
}
int main()
{
char *str="12349876ok";
int num;
atoi(str,num);
cout<<num<<endl;
return 0;
}
atoi实现
*********/
#include<iostream>
#include<assert.h>
using namespace std;
void atoi(const char *str,int &num)
{
assert(str!=NULL);
int result=0;
int sign=1;
if((str[0]>='0'&& str[0]<='9')||(str[0]=='+')||(str[0]=='-'))
{
if((str[0]=='+')||(str[0]=='-'))
{
if(str[0]=='-')
sign=-1;
str++;
}
}
while(*str>='0'&&*str<='9')
{
result=result*10+(*str++-'0');
}
result*=sign;
num=result;
}
int main()
{
char *str="12349876ok";
int num;
atoi(str,num);
cout<<num<<endl;
return 0;
}