思考数与字符的转换
将一个数组中的数据转换成字符串该怎么做呢?如int a[4]={0,1,2,3,4};
转换成
char c[5]="01234";
大家帮着思考一下!
谢谢了!
char b[6];
string c;
b[0]=a[0]+48;//数字用字符表示要进行ASCII码的转换!'0'是48,所有加48!
for(int i=1;i<5;i++)//存入字符数组b[6]中。
b[i]=a[i]+48;
for(int i=0;i<5;i++)//转到字符串变量c中。
c=c+b[i];
我是初学者,只能想到这,如果有简单的,赐教!
cout<<c; 忘记了
b[0]=a[0]+48;
可省略
呵呵 要加头文件
#include<string> #include <stdlib.h>
int main()
{
int a[] = {0, 1, 2, 3, 4};
char c[5];
for(int i = 0; i < 5; i++)
{
_itoa(a[i], c+i, 10);
}
return 0;
} char c[5]="01234";
上面的赋值形式是错误的,"01234"是字符串,以一个空字符结尾,所以长度是6而不是5 #include <iostream.h>
#include <stdio.h>
int main()
{
int a[4]={0,1,2,3};
char s[4];
sprintf(s, "%d%d%d%d",a[0],a[1],a[2],a[3]); //产生"123"
printf("%s",s);
return 0;
} [quote][bo]以下是引用 [un]koolism[/un] 在 2008-4-28 01:40 的发言:[/bo]
char c[5]="01234";
上面的赋值形式是错误的,"01234"是字符串,以一个空字符结尾,所以长度是6而不是5 [/quote]
LS注意这个 #include <iostream>
#include <string.h>
using namespace std;
int main()
{
int a[] = {0, 1, 2, 3, 4};
char c[6];
for(int i=0;i<5;i++)
c[i]=a[i]+48;
c[5]='\0';
puts(c);
return 0;
}
[[it] 本帖最后由 abelsky 于 2008-4-30 15:41 编辑 [/it]] #include <iostream.h>
void main()
{
int i,a[]={0,1,2,3,4};
char str[6];
for(i=0;i<=4;i++)
str[i]=a[i]+48;
str[i]='\0';
cout<<str<<endl;
}
页:
[1]
