免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4548 | 回复: 5
打印 上一主题 下一主题

[C] 在unix环境的c语言中,怎么把一个数字转成字符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-29 19:20 |只看该作者 |倒序浏览
在unix环境的c语言中,怎么把一个数字转成字符?
比如把数字123转换成字符串"123"

论坛徽章:
0
2 [报告]
发表于 2004-08-29 20:00 |只看该作者

在unix环境的c语言中,怎么把一个数字转成字符

sprintf, 建议使用man在线手册在查一下!

论坛徽章:
0
3 [报告]
发表于 2004-08-29 20:17 |只看该作者

在unix环境的c语言中,怎么把一个数字转成字符


  1. #define BASE (10)

  2. /*       
  3. *        函数名称: convert_str_fromint(int i, char *s)
  4. *        入口参数: i为要输入到字符串中的数字,s为储存数字的字符串
  5. *        出口参数: 存储好数字的字符串s
  6. *        基本思想: 数字的进制转换
  7. */
  8. char* convert_str_fromint(int i, char *s)
  9. {
  10.         int m, n, sign;

  11.         /* 首先根据i的正负来设置sign参数以及i */
  12.         if (i < 0) {
  13.                 sign = 0;
  14.                 i = -i;
  15.         } else
  16.                 sign = 1;
  17.        
  18.         /* 得到以BASE为底数时i的位数n */
  19.         for (n = 1, m = i; m /= BASE; n++)
  20.                 ;
  21.         /* 不要忘了字符串最后的'\0'结束符 */
  22.         if (sign)
  23.                 s[n--] = '\0';
  24.         else       
  25.                 s[n + 1] = '\0';
  26.                
  27.         /* 逐位读入以BASE为底数时各个位上的数 */
  28.         do
  29.                 s[n--] = i % BASE + '0';
  30.         while (i /= BASE);
  31.         if (!sign)
  32.                 s[0] = '-';
  33.                
  34.         return s;
  35. }
复制代码


说明:定义BASE宏是为了可拓展性,可以把BASE设置为其他的底数,但是基本的算法(即数制转换的思想)是不变的

论坛徽章:
0
4 [报告]
发表于 2004-08-29 20:21 |只看该作者

在unix环境的c语言中,怎么把一个数字转成字符

多谢各位鼎立相助,已经解决了

论坛徽章:
0
5 [报告]
发表于 2004-10-21 00:29 |只看该作者

在unix环境的c语言中,怎么把一个数字转成字符

不用那么复杂,用sprintf吧,它会带给你你想要的,不仅仅是整型,其它的也可以。

int i=65
char a[10];

sprintf(a, "%d", i);

论坛徽章:
0
6 [报告]
发表于 2004-10-21 09:53 |只看该作者

在unix环境的c语言中,怎么把一个数字转成字符

对,用sprinft是最简单的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP