你如何将二进制argv转换为字符串?

时间:2014-10-29 04:31:17

标签: c arduino

我有这个C函数:

void sysexCallback(byte command, byte argc, byte *argv)
{
...
}

我希望将argv[0](二进制)转换为简单字符串。我尝试过这样的事情:

char v[10];
strcpy(v,argv[0]);

但这给了我一个错误:

Arduino/hardware/tools/avr/avr/include/string.h:126:14: error:   initializing argument 2 of 'char* strcpy(char*, const char*)' [-fpermissive]

1 个答案:

答案 0 :(得分:2)

strcpy将两个字符指针作为参数。 argv [0]是一个字节,而不是char指针。试试

strcpy(v,(char *)argv);

或者,您可以创建一个字符指针并将其指向字节指针,如下所示:

char *string = (char *)argv;