免费注册 查看新帖 |

Chinaunix

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

|求助|将int转化成string的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-29 11:12 |只看该作者 |倒序浏览
//|求助|将int转化成string的问题
#include <stdio.h>
#define N 6
void ntos(char* cp,int num)
{
        //将num中每一位保存在数组中
        int a[N];
        int temp=num/10;
        int i=1;
        while(num>0)
        {
                a[i]=num-temp*10;
                i++;
                num=temp;
                temp=num/10;
        }
        //将a[10]中数赋值给cp[]
        int ip=0;
        for (int j=i-1;j>0 ;j-- )
        {
                cp[ip]='0'+a[j];
                ip++;
        }
}
int main()
{
        char m[6];
        int a=86577;
        ntos(m,a);
        printf("%s",m);
        scanf("%d",a);
        return 0;
}
//将int化成string,输出后,数字后跟着一些乱码,弄不懂这些乱码怎么产生的?
//是不是指针m有问题?

论坛徽章:
0
2 [报告]
发表于 2005-12-29 11:37 |只看该作者
cp[ip]='\0';

问一下:你scanf做啥?

论坛徽章:
0
3 [报告]
发表于 2005-12-29 11:56 |只看该作者
char * int2String(int int_num)
{
          static char ReturnString[256];
          sprintf(ReturnString,"%d",int_num);
          return ReturnString;
}

论坛徽章:
0
4 [报告]
发表于 2005-12-29 12:44 |只看该作者
原帖由 bugzilla_zhu 于 2005-12-29 11:37 发表
cp[ip]='\0';

'\0'???

论坛徽章:
0
5 [报告]
发表于 2005-12-29 12:52 |只看该作者
直接  sprintf(aa,"%d",bb); 就可以了,何必那么麻烦

论坛徽章:
0
6 [报告]
发表于 2005-12-29 13:00 |只看该作者
咋还搞得这么复杂,直接格式化打印不就得了吗

char * str;
int num=1234;
sprintf(str,"%d",num);

论坛徽章:
0
7 [报告]
发表于 2005-12-29 13:26 |只看该作者
#define int2String(A,B) sprintf(A,"%d",B)

论坛徽章:
0
8 [报告]
发表于 2005-12-29 14:46 |只看该作者
谢谢大家

论坛徽章:
0
9 [报告]
发表于 2005-12-29 17:15 |只看该作者
垃圾。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP