串联时出现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/
我是 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/