在Arduino中连接字符串

Concatenating strings together in Arduino

本文关键字:字符串 连接 Arduino      更新时间:2023-10-16

我想做类似的事情:

char* a = (char*)msg[0];
char* b = (char*)msg[1];
char* c = a + "," + b;

其中msgint的数组。

注意::这是Arduino c++,而不是普通的c++。

Arduino不使用std::string,而是使用String(注意大写S和下降的std::)。在大多数情况下,它们的使用方式与std::string相同。所以基本上你应该可以这样做:

String a("hello");
String b(" world");
c = a + b;

如果你想将一个整数转换为String,它有一个构造函数来完成这个任务,例如:

String a = String(msg[0]);
String b = String(msg[1]);

你可以在这里找到更多的例子。

参见strcat。你好像在用C编程,而不是c++。

SOLUTION

这就是我的解决方案,谢谢大家。

  String a = String(msg[0]);
  String b = String(msg[1]);
  String c = a + "," + b;
  char* d;
  c.toCharArray(d,c.length());
  mclient.publish("topic1/sensorAck",d);