栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

一、原型:

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

二、函数说明:

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

三、函数简单实现:

#include  
#include  
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<

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/63149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号