- 系统的
itoa()
函数
char *itoa( int value, char *string,int radix)
参数:
value 欲转换的数据。
string 目标字符串的地址。
radix 转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。
功能: 将整数value 转换成字符串存入string 指向的内存空间 ,
radix为转换时所用基数(保存到字符串中的数据的进制基数)。
返回值:函数返回一个指向 str,无错误返回。
- 代码实现(我只实现了10进制的转换)
#include<bits/stdc++.h>
using namespace std;
void myitoa(int num, char* str){
int tmp = num;
if(tmp < 0){
tmp = -tmp;
}
int i = 0;
while(tmp)
{
str[i++] = tmp % 10 + '0';
tmp = tmp / 10;
}
if(num < 0){
str[i] = '-';
str[++i] = 0; //字符串结尾标志
}
strrev(str); //利用strrev()函数将转换后的串翻转
}
int main()
{
char str[20];
int num;
while(cin>>num){
myitoa(num,str);
cout<<str<<endl;
}
return 0;
}