c语言中如何将 int转化为string 类型

 我来答
萢萢i3
2015-05-17 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4687万
展开全部

可以使用以下方式:

1、使用循环,把每一位数字转换成相应的字符,参考代码如下:

#include <stdio.h>
#include <string.h>

int main()
{
int num, n, i = 0;
char str[20], tmp[20];
scanf("%d", &num);
n = num % 10;
while (n>0)
{
tmp[i++] = n + '0';
num = (num - n) / 10;
n = num % 10;
}
tmp[i] = '\0';
for (i=0; i<=strlen(tmp)-1; i++)
{
str[i] = tmp[strlen(tmp)-i-1];
}
str[i] = '\0';
printf("%s\n", str);
return 0;
}

2、使用库函数,代码如下:

#include <stdio.h>
#include <string.h>

int main()
{
int num;
char str[20];
scanf("%d", &num);
itoa(num, str, 10);
printf("%s\n", str);
return 0;
}
haogehomeb26520f
2018-09-26 · TA获得超过456个赞
知道答主
回答量:146
采纳率:0%
帮助的人:11.8万
展开全部
1、如果支持C++,可以直接使用std::to_string()进行转化,最为方便安全。
2、如果只能使用C语言,可以使用itoa将整数转化为字符串,然后进行操作。
3、如果你的库函数都不支持,可以使用snprintf(),直接将数字转化为字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-30
展开全部
楼主你好,可以自己设计一个函数,将整数存到数组中,思路是如12345,将每位数1,2,3,4,5分别取出来,并按一定顺序存放起来,以下程序可以供楼主参考:
#include <stdio.h>
main ()
{
int a,n=0,i;
char b[100];
scanf ("%d",&a);
for (a;a>0;a=a/10)
n=n*10+a%10;
for (i=0;n>0;n=n/10)
b[i++]=n%10+48;
b[i]=0;
printf ("%s\n",b);
}望楼主采纳。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang06998
2012-01-30 · TA获得超过5659个赞
知道大有可为答主
回答量:3755
采纳率:83%
帮助的人:2488万
展开全部
int转字符串?
有个函数itoa()可以做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式