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,然后charc=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语言 数组可以转换成字符串吗的主要内容,如果未能解决你的问题,请参考以下文章