【发布时间】:2011-04-25 18:16:33
【问题描述】:
我正在尝试为 Arduino 编写 join 方法:
#define ARG_DELIMITER ','
String join(const String strs[], const int len) {
String result = "";
for (int i = 0; i < len; i++) {
result += strs[i] + ARG_DELIMITER;
Serial.println(result);
}
return result.substring(0, result.length() - 1);
}
loop()中的调用代码:
const String args[3] = {"foo", "bar", "baz"};
Serial.println(SlaveTalk.join(args, 3));
这将打印以下内容:
foo
foo
foo
fo
只要程序运行,后跟空字符串。
我在这里做错了什么?
【问题讨论】:
-
可能更重要的是,
String类/类型是什么? -
@Michael -
String类似乎已定义为 here。 -
从 C++ 角度接近此问题的人可能会感兴趣的另一个细节:“Arduino 语言基于 C/C++”(来自 arduino.cc/en/Reference/HomePage)。所以它类似于但不完全是 C++。