免费注册 查看新帖 |

Chinaunix

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

请问如何将int 12345转换成 char string "12345"? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-11 16:09 |只看该作者 |倒序浏览
linux下有没有可用的函数?

论坛徽章:
0
2 [报告]
发表于 2003-02-11 16:18 |只看该作者

请问如何将int 12345转换成 char string "12345"?

  1. void itoa ( unsigned long val, char *buf, unsigned radix )
  2. {
  3.         char *p;                /* pointer to traverse string */
  4.         char *firstdig;         /* pointer to first digit */
  5.         char temp;              /* temp char */
  6.         unsigned digval;        /* value of digit */

  7.         p = buf;
  8.         firstdig = p;           /* save pointer to first digit */

  9.         do {
  10.             digval = (unsigned) (val % radix);
  11.             val /= radix;       /* get next digit */

  12.             /* convert to ascii and store */
  13.             if (digval >; 9)
  14.                 *p++ = (char ) (digval - 10 + 'a');  /* a letter */
  15.             else
  16.                 *p++ = (char ) (digval + '0');       /* a digit */
  17.         } while (val >; 0);

  18.         /* We now have the digit of the number in the buffer, but in reverse
  19.            order.  Thus we reverse them now. */

  20.         *p-- = '\0';            /* terminate string; p points to last digit */

  21.         do {
  22.             temp = *p;
  23.             *p = *firstdig;
  24.             *firstdig = temp;   /* swap *p and *firstdig */
  25.             --p;
  26.             ++firstdig;         /* advance to next two digits */
  27.         } while (firstdig < p); /* repeat until halfway */
  28. }
复制代码


Example:
int intvalue=1234;
char charvalue[5];
itoa(intvalue, charvalue, 10);

以前我也提供相同的问题,好像有人用sprintf就可以实现。

论坛徽章:
0
3 [报告]
发表于 2003-02-11 16:25 |只看该作者

请问如何将int 12345转换成 char string "12345"?

char  p[6];
sprintf(p,"%d",12345);

论坛徽章:
0
4 [报告]
发表于 2003-02-11 16:36 |只看该作者

请问如何将int 12345转换成 char string "12345"?

反过来,string "12345"又如何转换成int 12345???

论坛徽章:
0
5 [报告]
发表于 2003-02-11 16:41 |只看该作者

请问如何将int 12345转换成 char string "12345"?

char a="12345"
b=atol(a)

论坛徽章:
0
6 [报告]
发表于 2003-02-11 16:44 |只看该作者

请问如何将int 12345转换成 char string "12345"?

int a = atoi("12345";

"GNU C Manaul"
int atoi (const char *string)
This function is like atol, except that it returns an int. The atoi function is also considered obsolete; use strtol instead.

So, to use "strtol" or "atoi" depends on you.

论坛徽章:
0
7 [报告]
发表于 2003-02-11 16:58 |只看该作者

请问如何将int 12345转换成 char string "12345"?

int i;
char* p;

sscanf(p, "%d", &amp;i);

论坛徽章:
0
8 [报告]
发表于 2003-02-11 16:59 |只看该作者

请问如何将int 12345转换成 char string "12345"?

呵呵,
char  *a="123456";
long  l=0;
sscanf(a,"%ld",&amp;l);

论坛徽章:
0
9 [报告]
发表于 2003-02-11 17:06 |只看该作者

请问如何将int 12345转换成 char string "12345"?

谢谢大家!!~~!~!~
这麽快就这麽多回复,真让我感动,5555555。。。。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2003-02-11 20:23 |只看该作者

请问如何将int 12345转换成 char string "12345"?

[quote]原帖由 "问号"]好像有人用sprintf就可以实现。[/quote 发表:

int i=12345;
char buffer[10];
sprintf( buffer, "%d", i );
然后 buffer 就是 "12345".
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP