2014-10-29 130 views
-2

我有这个C函数:如何将二进制argv转换为字符串?

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] 
+0

http://meta.stackexchange.com/questions/66377/what-is-the -XY-问题 – 2014-10-29 04:37:13

回答

2

的strcpy需要两个字符指针作为它的参数。 argv [0]是一个字节,不是字符指针。尝试

strcpy(v,(char *)argv); 

或者你可以做一个字符指针,它指向字节的指针,像这样:

char *string = (char *)argv; 
相关问题