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

如题所述

可以使用以下方式:

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个回答  2018-09-26
1、如果支持C++,可以直接使用std::to_string()进行转化,最为方便安全。
2、如果只能使用C语言,可以使用itoa将整数转化为字符串,然后进行操作。
3、如果你的库函数都不支持,可以使用snprintf(),直接将数字转化为字符串。
第2个回答  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);
}望楼主采纳。本回答被提问者采纳
第3个回答  2012-01-30
int转字符串?
有个函数itoa()可以做
相似回答