首页 > 编程 > C++ > 正文

C语言中实现itoa函数的实例

2020-05-23 13:38:53
字体:
来源:转载
供稿:网友

C语言中实现itoa函数的实例

一、原型:

char *itoa( int value, char *string,int radix);

二、函数说明:

  1. value:欲转换的数据。
  2. string:目标字符串的地址。
  3. radix:转换后的进制数,可以是10进制、16进制等。

三、函数简单实现:

#include <iostream> #include <string> using namespace std;  char* My_itoa(int value,char str[],int radix) {   char temp[33];   char *tp = temp;   int i;   unsigned v;   int sign;   char *sp;   if(radix > 36 || radix < 1)     return 0;   sign = (radix == 10 && value < 0); //十进制负数   if(sign)     v = -value;   else     v = (unsigned)value;   while(v || tp == temp)       //转化操作   {     i = v % radix;     v = v / radix;     if(i < 10)       *tp++ = i + '0';     else       *tp++ = i + 'a' - 10;   }   if(str == 0)     str = (char*)malloc((tp - temp) + sign + 1);   sp = str;   if(sign)   //是负数的话把负号先加入数组     *sp++ = '-';   while(tp > temp)     *sp++ = *--tp;   *sp = 0;    return str; }  int main() {   long int num;   int radix;   //输入的几进制表示   char str[256];   cout<<"请输入整数和进制数:";   cin>>num>>radix;   My_itoa(num,str,radix);   cout<<"整数转换为字符串后:";   cout<<str<<endl;    return 0; } 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表