首先我们知道
- 数字0转换成字符’0’只需加上’0’,即整数加’0能隐性转换成对应字符。
- 字符’0’转换成整数0只需减去’0’,即字符减’0’能隐性转换成对应整数。
源程序
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
char *itoa(int value,char *string);
int atoi(char *nptr);
int main()
{
int value=12345;
char mystr[25];
itoa(value,mystr);
cout<<"integer= "<<value<<endl;
cout<<"string= "<<mystr<<endl;
cout<<"integer= "<<atoi(mystr)<<endl;
return 0;
}
char *itoa(int value,char *str)
{
char temp[25];
int i=0,j=0;
while(value)
{
temp[i]=value%10+'0';
value=value/10;
i++;
}
i=i-1;
while(i>=0)
{
str[j]=temp[i];
j++;
i--;
}
str[j]='\0';
return str;
}
int atoi(char *nptr)
{
int num=0,i=0;
while(nptr[i]!='\0')
{
num=num*10+(nptr[i]-'0');
i++;
}
return num;
}
程序结果