C语言中如何把int型数组转化为字符串?

如何把int型数组转化为字符串?请给出一个函数方法

方法1:

int a[10]={1,2,3,4,5,6,7,8,9,0};
 char buf[10];
 string s;
 for(int i=0;i<10;i++)
 {
  itoa(a[i],buf,10);
  s+=buf;
 }

方法2:

int a[10]={65,66,67,68,69,70,71,72,73,74};
 char buf;
 string s;
 for(int i=0;i<10;i++)
 {
  buf=a[i];
  s+=buf;
 }

方法3:

int a[10]={0,1,2,3,4,5,6,7,8,9};
 char buf;
 string s;
 for(int i=0;i<10;i++)
 {
  buf=(char)a[i]+48;
  s+=buf;
 }

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-15
不准用sprintf 之类函数,要自己写,那么 这样自己写i2s如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void i2s(int x, char *s){
int v,xx,i,j,n=0;
char c;
xx = abs(x);
while(1){
v=xx%10;
s[n]=v+'0'; n++;
xx=(xx-v)/10;
if (xx==0) break;
}
if (x<0) {s[n]='-'; n++;}
for (i=0;i<n/2;i++){
c=s[i]; s[i]=s[n-i-1];s[n-i-1]=c;
}
s[n]='\0';
}

main()
{
int a[4]={12,34,-56,789};
char s[4][15];
int i;
for (i=0;i<4;i++){
i2s(a[i],s[i]);
printf("%s ",s[i]);
}
return 0;
}

输出:12 34 -56 789
如用
int i2s(int x, char *s){
//全部照旧
return n;
}
可以返回字符串长度。
你若想把所有输出放入一个长长的char 数组,有了每个字符串长度,应当很容易自己做了--即使不用strcat()。
第2个回答  推荐于2017-12-16
是以整型的位数为限的,输入位数太长了不行。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"//
void main(void){
double rn=9876.5678;
int i=1000000000,k,pt=1,n;
char a[12]="";
printf("Enter a floating point number...\nrn=");
//scanf("%lf",&rn); //手工输入时把这一行开放.
while((rn/=10)>1.0) pt++;
n=(int)(rn*i);
while(!(n%10)){
n/=10;
i/=10;
}
for(k=0,i/=10;i>=1;i/=10){
a[k++]=n/i+'0';
n%=i;
if(k==pt) a[k++]='.';
}
printf("%s\n",a);
}本回答被网友采纳
第3个回答  2013-11-15
int b=13444;
sprintf(a,"%d" ,b)将b的值转换为“13444”字符串付给a。追问

不用 sprintf itoa

第4个回答  2013-11-15
char s[10];
sprintf(s,"%d",10);
----------------------------------or--------------------------
#include <stdlib.h>
#include <stdio.h>
int main()
{
int number = 123456;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}追问

不用 sprintf itoa

追答

那就考虑内存里面直接操作ASCII码,每位直接读了加0x30

追问

就是这样,可以写成可以调用的函数形式吗,int中包括符号的

C语言中如何把int型数组转化为字符串?
方法1:int a[10]={1,2,3,4,5,6,7,8,9,0}; char buf[10]; string s; for(int i=0;i<10;i++) { itoa(a[i],buf,10); s+=buf; } 方法2:int a[10]={65,66,67,68,69,70,71,72,73,74}; char buf; string s; for(int i=0;i<10;i++) { buf=a[i];...

c语言中如何将int数字转化为char
方法一:使用强制类型转换符号括号。假设我们有一个整数intValue,我们可以将其转换为char类型,如下所示:c int intValue = 65; \/\/ 'A'的ASCII码值是65 char charValue = intValue; \/\/ 通过强制类型转换将int值转换为char类型 在上述代码中,整数65被强制转换为字符类型,因为在ASCII码表中,值65...

C 怎么把int转换成char
首先,需要定义一个足够大的字符数组来存放转换后的字符。例如,如果要转换的整数可能有四位数,可以定义一个长度为5的字符数组,以便包含前导零。然后,可以通过循环操作从整数中提取每一位的数字,并将其存储到字符数组中。以整数1234为例,可以使用以下代码实现:c include int main() { int num =...

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;...

c#语言中怎么把int 型的数字转化为string 型输出
转化如下:1、textbox1.text=a.ToString();2、textbox1.text = Convert.ToString(a);string类型为C#中的基元类型,在编译的时候,会自动转换成FCL类型,如:string对应到FCL中的System.String。c语言可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作。

c语言中如何将short,int,long,float这些类型的数值转换为字符串?
1、对于整型,各个平台有一些函数可以专门转换,比如itoa等。不过更通用的做法是使用sprintf函数。2、声明:int sprintf(char *dst, const char *format_string, ...);头文件为stdio.h。3、功能:sprintf是一个不定参数函数,根据format_string中提供的格式符,将后续参数转为字符串存储在第一个参数...

C语言整型数组转成字符串
直接用这个值加上'0'就可以了 比如如下的转换 char str[11];for(int i = 0; i < alen;++i){ str[i] = a[i]+'0';} str[alen]='\\0';

c语言 整型数值转化为字符型
使用itoa函数。原型:extern char *itoa(int i);参考代码:include<stdio.h> include<stdlib.h> int main(){ int a=125;char b[50];printf("%s\\n",itoa(a,b,10));\/\/把10进制的125转成字符并输出。return 0;} \/

C语言中int型怎么转化为char[]?例如:int a=1000; 怎么让 char[]=...
按位取出,然后把每一位的数字转化成字符放入字符数组中啊。说下思路吧:将整数按位取出,方法是循环取余:int aInt = 10000;char arr[5] = {0};int i = 0;while(aInt > 0){ arr[4-i] = aInt % 10 + '0';aInt \/= 10;i++;} 这就可以了,我这些代码是没有扩展性的,只是给你...

C语言 int\/float\/double 数值转成字符串的方法或者函数
对于int型,可以调用函数itoa。char*itoa(int value,char*string,int radix);功能为将任意类型的数字转换为字符串。int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。float和double类型没有特定的转换函数。不过不论是float, double还是int,...

相似回答