串联时出现arduino循环错误

arduino loop error on concatenation

我是 arduino 的新手,有点卡在一些 arduino 逻辑上。 我正在创建一个 arduino 以使用 arduino 以太网屏蔽显示状态网页。

设置:Arduino:1.8.5 (Windows 7),电路板:"Arduino/Genuino Uno"

这乍一看似乎合乎逻辑:

for (int i = 0; i < 10 ; i++)
{
  client.println("Line :");
  client.println(i);
  client.println("<br>");
}

它会按照预期输出这个

Line : 0 
Line : 1 
Line : 2 
Line : 3 
Line : 4 
Line : 5 
Line : 6 
Line : 7 
Line : 8 
Line : 9 

现在如果我想在代码

中连接"Line :"i

我的代码将是这样的:

for (int i = 0; i < 10 ; i++)
{
  client.println("Line :" + i);
  client.println("<br>");
}

我希望看到与上面相同的输出,但实际上,我看到:

Line : 
ine : 
ne : 
e : 
: 
: 

我从不执行子字符串或其他字符串函数来删除每行的第一个字符,那么 arduino 是如何处理这个的?

第二个问题,所以当我像这样连接代码中的所有内容时:

client.println("Line :" + i + "<br>");

我有这个错误:

exit status 1
invalid operands of types 'const char*' and 'const char [5]' to binary 'operator+'

我想,“+”运算符是串联?

Arduino Serial.print() 不支持您使用的常规形式的串联。你有两个选择:

1- 一个接一个地使用多个 Serial.print() 命令,正如您已经尝试过的那样。

2- 使用 Arduino 的 "Streaming" 库。在您的情况下,语法类似于:

Serial << "Line" << i << "<br>" << endl;

有关详细信息,请查看此 link: http://arduiniana.org/libraries/streaming/