C语言中,如何将一个数组中的数值转换成字符串输出?

比如说我有一个数组wd[4]={1,2,3,4},现在想把它转换成字符串输出。最后能写成一个函数的形式。数组的大小是可变的。

#include<stdio.h>

void IntToStr(int *i, char *c, int len)

{//i为整形数组,c为要存放字符串的数组,len为整形数组元素个数

int k;

char tmp[10];

for(k=0;k<len;k++)

{

itoa(i[k],tmp,10);

strcat(c,tmp);

int main()

或:

#include <string.h>

int main() // 这里为了方便直接用main函数

{

char array[] = { 'h', 'e', 'l', 'l', 'o' };

/* 需要注意的是,这里没有终结符,故需要知道数组的 */

/* 大小(数组的大小是编译时常量)*/

char *dest_str; // 目标字符串

dest_str = (char *)malloc(sizeof(char) * (sizeof(array) + 1));

/* 为字符串分配堆空间 */

strncpy(dest_str, array, sizeof(array));

// 用C标准库函数strncpy拷贝字符

return 0;

}

扩展资料:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:百度百科-字符串

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-12-26

1、首先写上注释内容,如下图所示。

2、然后写上数据类型(char)+字符串名称,如下图所示。

3、接下来需要在=后面写上字符串的内容,如下图所示。

4、接下来需要将字符串的内容打印出来,如下图所示。

5、接下来需要点击顶部的编译,如下图所示。

6、接下来需要点击运行。

7、这时候就可以看到刚才被定义的字符串被输出来了。

本回答被网友采纳
第2个回答  推荐于2018-01-17
第一次编程,请笑纳
#include<stdio.h>

void ToString(int array[], int array_size);

int main(void)
{
int a[5] = { 5,4,3,2,1 };

ToString(a, sizeof(a)/sizeof(a[0]));
}

void ToString(int array[], int array_size)
{
char *p;
int i;

p = (char*)malloc(array_size + 1);

for(i = 0; i < array_size; i++)
{
*(p+i) = '0' + array[i];
}

*(p+i) = '\0';

printf("int array is string %s\n", p);
}

运行结果:
Administrator@X11 ~
$ gcc main.c

Administrator@X11 ~
$ ./a
int array is string 54321本回答被提问者和网友采纳
第3个回答  2019-10-01
这里演示的char类型数组,举一反三,自己查资料看in数组怎么转
int main()
{
unsigned char arr[]={0x12,0x34,0x56,0xaa,0xff,0xcd};
char str[256]="";
//sprintf(str,"%X%X%X",arr[0],arr[1],arr[2]);
int i=0;
for(i=0;i<sizeof(arr);i++){
sprintf(str+i*3,"%X ",arr[i]);
}
printf("%s\n",str);

return 0;
}
第4个回答  推荐于2017-10-14
unsigned char fun(char c)/*把用字符表示的十六进制数转换为二进制表示*/
{

if('A' <=c && c <='Z')

return c - 'A' + 10;

if('a' <=c && c <='z')

return c - 'a' + 10;

return c - '0' ;
}
void convert(const char *str, unsigned char *arr)
{

for(unsigned i = 0; str[i] != '\0'; ++i )

if(i%2 == 0){

arr[i/2] = fun(str[i]);

arr[i/2] <<= 4;

}

else

arr[i/2] |= fun(str[i]);
}

C语言中,如何将一个数组中的数值转换成字符串输出?
1、首先写上注释内容,如下图所示。2、然后写上数据类型(char)+字符串名称,如下图所示。3、接下来需要在=后面写上字符串的内容,如下图所示。4、接下来需要将字符串的内容打印出来,如下图所示。5、接下来需要点击顶部的编译,如下图所示。6、接下来需要点击运行。7、这时候就可以看到刚才被定义...

C语言中,如何将一个数组中的数值转换成字符串输出?
void IntToStr(int *i, char *c, int len){\/\/i为整形数组,c为要存放字符串的数组,len为整形数组元素个数 int k;char tmp[10];for(k=0;k<len;k++){ itoa(i[k],tmp,10);strcat(c,tmp);int main()或:include <string.h> int main() \/\/ 这里为了方便直接用main函数 { char ...

C语言中数字怎么赋值给字符串,并且输出的是数字呢?
1、新建一个 字符串数组的定义与输出 项目。2、添加一个 str.c 文件。3、包含stdio.h和stdlib.h头文件。4、输入main函数主体,system()和返回值。5、定义一个字符串变量str。6、使用printf()函数输出字符串变量str。7、运行程序,查看输出结果。

c语言中如何将数字转化为字符串
大体思路就是,如果数字是存在一个数组当中,比如int a[4]={1,2,3,4},再新建个数组char b[4],把数组a逐个元素赋给b,然后就可以了。这样的话,不仅能打印出字符串,数组b里面实际放的也是字符。include <stdio.h> int main(){ int a[4]={1,2,3,4};char b[4];for(int i=0;i<...

c语言如何将数值转化为字符串
i--){\/\/num[i]+'0'->强制转换(char)\/\/ 然后存入(char)数组str中 str[j]=(char)(num[i]+'0');} str[k]='\\0';\/\/尾部加个结束符,可以整串输出 printf("%s\\n",str);\/\/整串输出 for(int i=0;i<strlen(str);i++)\/\/单个输出 printf("%c ",str[i]);return 0;} ...

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语言把一个整数转换为字符串,如:整数123转换为字符串“123...
1、一位的整型数转换为字符。首先,定义一个整型变量,保存转换的一位整型数值。2、接着,定义一个字符型变量,保存转换为的单个字符。3、将数值变量加上48,然后保存在字符变量c中。4、运行程序,输入一个一位的数值后,电脑就会把它转换为相应的字符。5、还可以将转换表达式中的48,更改为字符0,...

C语言将数字转换为字符型输出(用函数)
..部分的参数,按照format_str的要求,输入到dst中。需要根据数字的类型,使用format_str。如整型(int)的使用方式为 sprintf(buf, "%d", a);如果a为123,那么buf中的字符串为"123"。常见的数字类型还有:1 short, 用%h输出;2 long, 用%ld输出;3 float, 用%f输出;4 double, 用%lf输出。

C语言 能够把输入的任意一个0~999范围的整数转换成字符串,并输出
楼主你好!如果你想使用最短最方便的方法,就是直接调用#include<stdlib.h>下的 char *itoa(int value, char *string, int radix)函数,它就是用来将一个数转换为字符串的!其中,int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等 includ...

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

相似回答