【发布时间】:2014-10-27 03:57:18
【问题描述】:
您好,我正在使用 digi dynamic c。我正在尝试将其转换为字符串
char readingreg[4];
readingreg[0] = 4a;
readingreg[1] = aa;
readingreg[2] = aa;
readingreg[3] = a0;
目前,当我执行printf 语句时,它必须是这样的:
printf("This is element 0: %x\n", readingreg[0]);
但我想要这个字符串,所以我可以像这样使用printf 语句
printf("This is element 0: %s\n", readingreg[0]);
我本质上是通过 TCP/IP 端口发送 readingreg 数组,为此我需要将它作为字符串。我似乎无法将其转换为字符串。谢谢你的帮助。 另外,如果有人可以告诉我如何一次处理每个元素而不是整个数组,那很好,因为只有 4 个元素。
【问题讨论】:
-
请澄清一下,您希望第二个 printf() 打印什么。
-
使用
snprintf打印到缓冲区,然后打印?还要记住以 0 字节结尾的字符串。 -
看答案我不认为我很清楚,对不起。所以本质上我有一个正在读取reg(char)但具有十六进制值的数组。我希望它的值是字符串。例如: readingreg[0] = 4a, 4a 是十六进制值 有人可以帮我制作一个新数组,它看起来像: newArray[0] = 4a;新数组[1] = aa;依此类推,其中 4a 和 aa 将是字符串而不是十六进制。
标签: c arrays hex converter bitconverter