c语言中如何将 int转化为string 类型
4个回答
展开全部
可以使用以下方式:
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;
}
展开全部
1、如果支持C++,可以直接使用std::to_string()进行转化,最为方便安全。
2、如果只能使用C语言,可以使用itoa将整数转化为字符串,然后进行操作。
3、如果你的库函数都不支持,可以使用snprintf(),直接将数字转化为字符串。
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);
}望楼主采纳。
#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);
}望楼主采纳。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int转字符串?
有个函数itoa()可以做
有个函数itoa()可以做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询