c语言 数组可以转换成字符串吗

Posted

tags:

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

c语言数组可以转换成字符串。
实际上,c语言中的字符串就是一个字符数组,数组最后一个元素为"\0",表示字符串的结束位置。
参考技术A 你的意思是不是把用字符串表示的十六进制转换为用bit表示的16进制?
我是按这个意思写的。
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]);
本回答被提问者和网友采纳
参考技术B 加个结尾符号\0就成字符串了,数组的值对应的是字符的ASCII值 参考技术C C语言的数组不就是字符串吗?
char a[];//这是一个数组,也是一个字符串啊。
char a;//这只是一个字符。

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

数组是整型数组吗?如果是的话,可以取出来转换成字符就行了。例如,整型数值56,然后char
c=56,输出c就行了。相当于强制类型转换。
参考技术A 情况分: 1.数组中每个元素都是0 ~ 9 的整数,可以分别将它们加48(‘0’的ascii码值)输出
2 。每个元素都是一个独立的数值,建议参考使用 itoa函数
参考技术B 第一次编程,请笑纳
#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

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

C 字节数组转换成字符串

c语言 所有类型转换函数

c语言如何将数组转成字符串

C语言将数组转换成一个整型数

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

c语言字符串和字符串数组的区别