【问题标题】:Concatenating char and string in Arduino在 Arduino 中连接字符和字符串
【发布时间】:2023-03-31 20:31:02
【问题描述】:

我正在使用 Arduino 板和提供的示例。试图让我收到的消息显示在 LCD 上。我正在努力弄清楚如何使用一些预先构建的代码。

我收到错误:从 'const unsigned char*' 到 'const char*' 的无效转换

我尝试修改 payload 参数类型,但它破坏了对 MessageCallback 的其他引用。

arduino 板文档中的 Screen.print() 定义: int print(unsigned int line, const char s, bool wrap)

代码:

static int  MessageCallback(const unsigned char *payload)
{
int result = 200;
const char screenMsg[100]; 
strcpy(screenMsg,"Set Temp: ");
strcat(screenMsg,payload);

Screen.print(1, screenMsg, true);

return result;
}

【问题讨论】:

  • const char screenMsg[100]; 未初始化为 const 然后在下一行更改(?)似乎模棱两可

标签: c++ c arduino


【解决方案1】:

如果您只是更改为char screenMsg[100];,它应该可以工作。

打印功能不会改变你提供给它的字符串,仅此而已

const char s

意思。

【讨论】:

    【解决方案2】:

    Strcat 的参数是(char *, const char *)。您可以通过执行“strcat(screenMsg, (char*)payload);”将“有效负载”转换为char*。阅读Strcat two unsigned char in C

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2023-03-27
      • 2013-12-29
      • 2013-01-04
      • 2021-08-10
      相关资源
      最近更新 更多