1、int atoi(const char *nptr);
注意:参数nptr字符串遇到非数字或者“\0”,停止转换。
#include <IOSTREAM>
#include <CCTYPE>
using namespace std;
int main()
{
string s;
cin>>s;
int flag=1,res=0;//flag判断正负
for (int i=0;i<s.size();i++)
{
if (s[i]=='+' || s[i]=='-')
{
flag=s[i]=='-'?-1:1;
i++;
}
if (isdigit(s[i]))
{
res=res*10+s[i]-'0';
}
else
break;
}
cout<<flag*res<<endl;
return res;
}
2、itoa
#include <IOSTREAM>
#include <CCTYPE>
using namespace std;
void InttoString(int n,char* res)
{
int flag=1;
int i=0,j=0;
char buf[100]="";
if(n<0)
res[i++]='-';//如果是负数,第一位就是‘-’,不是的话这句话不执行
n=abs(n);
while(n)
{
buf[j++]=n%10+'0';
n=n/10;
}
j--;
while(j>=0)
res[i++]=buf[j--];//倒序赋值给res
}
int main()
{
int num;
char res[10]="";
cin>>num;
InttoString(num,res);
cout<<res<<endl;
return 0;
}