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

标签 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]

最佳答案

strcpy 使用两个字符指针作为参数。 argv[0] 是一个字节,而不是一个字符指针。尝试一下

strcpy(v,(char *)argv);

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

char *string = (char *)argv;

关于c - 如何将二进制 argv 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26622814/

相关文章:

c - 当命令访问不存在的文件时来自 popen 的错误状态

c - TCP 连接 : Recreating a socket that has been closed

java - 通过以太网将Arduino的模拟传感器值发送到android应用程序

c++ - Arduino:重写打印类问题

c - 安装AVR开发平台for mac时架构x86_64错误

c - 没有C库的最简单的随机数生成器?

平台之间的 C 枚举大小不匹配有潜在危险

C 数组段错误

c++ - Arduino 方法名称与库函数冲突

Arduino WiFi 扩展板在 WiFi.status() 停止工作