字符数组转化为字符串 C语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符数组转化为字符串 C语言相关的知识,希望对你有一定的参考价值。

字符串的实质就是字符数组,不需要转换,你可以把字符数组名当作字符串变量来直接使用。 参考技术A 你只要把字符数组末尾赋成 '\0'就行了.

C语言,整数数组转化为字符串

如题,我想将一个整数数组,改写成一个字符串输出,该如何写呢?
例如,整数数组为int data[5] = 4, 5, 3, 2, 5
改成:字符串:data:["4", "5","3","2","5"]
希望能给出大概函数的代码~
谢啦

C有“整数数组转化为字符串”的专用库函数char *itoa(int num,char *str,int radix)。声明一个存放转换后的字符串的二维字符数组,将整型数组的元素作为num来调用itoa函数,将结束存入二维数组即可。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "stdlib.h"
int main(void)
    int a[8]=123,234,345,10,787,743891,123456789,0,i;
    char x[8][11]="",;
    for(i=0;i<8;i++)
        itoa(a[i],x[i],10);//将整数a[i]按十进制转换成字符串存入字符数组x[i]
        printf("%s ",x[i]);//打出来看看......
    
    printf("\\n");
    return 0;

参考技术A 先把输出内容放入一个字符数组里,再输出。
字符数组的内容,用sprintf,strcat 等逐步建成:

#include <stdio.h>
#include <stdlib.h>
int main()

char str[80];
int data[5]=4, 5, 3, 2, 5;
int i,L;
sprintf(str,"data:");
strcat(str,"[");

for (i=0;i<5;i++)
L = strlen(str);
if (i<4) sprintf(str+L,"\"%d\",",data[i]);
else sprintf(str+L,"\"%d\" ",data[i]);
;
strcat(str,"]");
printf("%s",str);
return 0;



输出:data:["4","5","3","2","5"]本回答被提问者和网友采纳
参考技术B #include <stdio.h>
void main()

int d[5]=4,5,3,2,5;
char a[80];
int i;
for(i=0;i<5;i++)
a[i]=d[i]+'0';
a[i]='\0'; //这个很重要,是字符串结束符
printf("%s\n",a);
参考技术C 写个循环 拼接起来 参考技术D 数组输出和字符输出有什么不同?为什么需要转换?

以上是关于字符数组转化为字符串 C语言的主要内容,如果未能解决你的问题,请参考以下文章

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

Java语言中,如何将String转化成Int数组

C语言中如何把一个字符串转化成其ASCII码的数组??

C语言中怎么将一个整形数组转化为一个float或者int类型数字比如 int a[5]=1,2,

字符数组转化字符串,C语言

C/C++基本问题:字符串转化为long型数字