如何将int从int []转换为const char *

时间:2014-07-29 13:20:19

标签: c++ arduino

就像主题提到....例如

int[10] msg;

msg[0] = 1;
msg[1] = 2;

const char* a = (const char*)msg[0];      
const char* b = (const char*)msg[1];

当我通过printf测试时似乎没有价值

我将以这种方式使用它

char test[20];
strcpy(test, a);
strcat(test, ",");
strcat(test, b);
strcat(test, "\0");
mclient.publish("topic1/sensorAck",test);

结果只显示逗号

2 个答案:

答案 0 :(得分:1)

strcpy和strcat在到达' \ 0'源字符串中的字符。由于int 1实际上是4个字节(0,0,0,1),因此它将在第一个字节上停止,因为它是零' \ 0'永远不会到达' 1'值字节。

答案 1 :(得分:0)

这里是将整数转换为C字符串的C代码。

int i = 1;
char text[12];
sprintf(text, "%d", i);