注册 登录
编程论坛 C++教室

思考数与字符的转换

woebird 发布于 2008-04-27 08:49, 1125 次点击
将一个数组中的数据转换成字符串该怎么做呢?
如int a[4]={0,1,2,3,4};
转换成
char c[5]="01234";
大家帮着思考一下!
谢谢了!
9 回复
#2
carlbiao2008-04-27 22:09
int a[5]={0,1,2,3,4};
      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;
#3
carlbiao2008-04-27 22:10
忘记了
b[0]=a[0]+48;
可省略
呵呵
#4
carlbiao2008-04-27 22:11
要加头文件
#include<string>
#5
koolism2008-04-28 01:35
#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;
}
#6
koolism2008-04-28 01:40
char c[5]="01234";
上面的赋值形式是错误的,"01234"是字符串,以一个空字符结尾,所以长度是6而不是5
#7
linwu_20062008-04-28 10:47
#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;
}
#8
yxwsbobo2008-04-28 15:11
[bo]以下是引用 [un]koolism[/un] 在 2008-4-28 01:40 的发言:[/bo]

char c[5]="01234";
上面的赋值形式是错误的,"01234"是字符串,以一个空字符结尾,所以长度是6而不是5


LS注意这个
#9
abelsky2008-04-29 22:49
#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]]
#10
readyforlove2008-05-01 08:33
#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