CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

求一个int转成char *函数

楼主yunlang2233187(冰水湖)2005-04-15 16:28:54 在 C/C++ / C语言 提问

写一个函数,将int型i(位数不确定)转换成字符串并返回,比如输入123,将它转换成"123"。  
  请指点! 问题点数:20、回复次数:11Top

1 楼pcboyxhy(-273.15℃)回复于 2005-04-15 16:36:56 得分 3

char*   itostr(char   *str,   int   i)   //将i转化位字符串存入str  
  {  
          sprintf(str,   "%d",   i);  
          return   str;  
  }Top

2 楼steedhorse(晨星)回复于 2005-04-15 16:40:55 得分 0

char   s[16];  
  sprintf(s,   "%d",   i);Top

3 楼Beover1984(摇滚人生)回复于 2005-04-15 16:51:39 得分 3

库中不是有现成的吗?  
  函数名:   itoa    
  功     能:   把一整数转换为字符串    
  用     法:   char   *itoa(int   value,   char   *string,   int   radix);    
  程序例:    
   
  #include   <stdlib.h>    
  #include   <stdio.h>    
   
  int   main(void)    
  {    
        int   number   =   12345;    
        char   string[25];    
   
        itoa(number,   string,   10);    
        printf("integer   =   %d   string   =   %s\n",   number,   string);    
        return   0;    
  }    
  Top

4 楼herrycsdn(卓一凡)回复于 2005-04-15 16:53:37 得分 2

sprintf或itoaTop

5 楼yunlang2233187(冰水湖)回复于 2005-04-18 18:01:23 得分 0

我如果想要一个自己写的函数或该库函数原码,  
  初学c且库函数方面的书没有,望各位指教!!Top

6 楼Beover1984(摇滚人生)回复于 2005-04-19 08:44:56 得分 0

网上找找,有一本TC2宝典,那里有库函数介绍,不行就装个MSDN吧Top

7 楼hblinlin(木木)回复于 2005-04-19 08:51:16 得分 2

sprintf   或itoaTop

8 楼steedhorse(晨星)回复于 2005-04-19 09:01:11 得分 10

帮楼主写个非递归的看看吧,自己写的,不好。:P  
  #include   <stdio.h>  
  #include   <string.h>  
   
  const   char*   IntToStr(char*   buf,   int   m)  
  {  
          char   tmp[16];  
          int   isNegtive   =   0;  
          int   index;  
   
          if(m   <   0)  
          {  
                  isNegtive   =   1;  
                  m   =   -   m;  
          }  
   
          tmp[15]   =   '\0';  
          index   =   14;  
          do    
          {  
                  tmp[index--]   =   m   %   10   +   '0';  
                  m   /=   10;  
          }   while   (m   >   0);  
   
          if(isNegtive)  
                  tmp[index--]   =   '-';  
           
          //这里如果不愿调用库函数,可以使用for循环拷贝字符  
          strcpy(buf,   tmp   +   index   +   1);  
   
          return   buf;  
  }  
   
   
  int   main()  
  {  
          char   buf[16];  
          printf("%s\n",   IntToStr(buf,   123456789));  
          printf("%s\n",   IntToStr(buf,   0));  
          printf("%s\n",   IntToStr(buf,   -1));  
          printf("%s\n",   IntToStr(buf,   -7654321));  
          return   0;  
  }Top

9 楼yunlang2233187(冰水湖)回复于 2005-04-20 12:44:10 得分 0

谢谢。如果int位数是不确定的呢?Top

10 楼steedhorse(晨星)回复于 2005-04-20 12:47:57 得分 0

int   32位整数,不超过11位。  
  64位平台上加上负号不超过21位,把缓冲设大一点就够了。Top

11 楼steedhorse(晨星)回复于 2005-04-20 12:51:00 得分 0

int   32位整数,10进制不超过11。  
  64位平台上加上负号不超过21,把缓冲设大一点就够了。Top

相关问题

  • int转成CString用什么函数?
  • PHP 函数 转成 ASP函数
  • C++ Builder函数转成 Delphi
  • 请问char到int的函数??谢谢
  • 请问如何将char转成int型
  • 求UTF8转成ANSI的函数
  • 那个函数把 int 转为 char,反转呢?
  • 把int转换成char型,用哪个函数?立刻给分!
  • 有没有将int转换为char的函数?
  • 请问int转char,有什么函数可以用

关键词

  • 64位
  • 函数
  • 转换
  • 字符串
  • inttostr
  • 整数
  • buf
  • itoa
  • 库
  • 超过

得分解答快速导航

  • 帖主:yunlang2233187
  • pcboyxhy
  • Beover1984
  • herrycsdn
  • hblinlin
  • steedhorse

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo