我在Arduino中有此方法,它的编程语言基于C / C ++,并且应该替换\ r和\ n以便按原样打印\ r和\ n,但是当我尝试运行代码时,它给出了操作员错误不匹配:
void debugmsg(String msgtext) {
msgtext = msgtext.replace("\r","\\r");
msgtext = msgtext.replace("\n","\\n");
Serial.println(msgtext1 + "\r\n");
}
Run Code Online (Sandbox Code Playgroud)
'operator ='不匹配(操作数类型为'String'和'void')
我不知道怎么了,谢谢您的帮助!
.Replace()是一个无效函数。它直接修改字符串,因此无需将其分配给任何内容。只需像下面那样使用它,它将替换它:
msgtext.replace("\r","\\r");
msgtext.replace("\n","\\n");
Run Code Online (Sandbox Code Playgroud)
replace()Arduino 的from与您在此处使用的功能不同,因为它是C / C ++编程语言。那确实返回了String
编辑:
正如@unwind所注意到的,Arduino文档声明replace()返回一个String。但是,语法部分AND在其示例代码HERE中显示了该函数的常规用法,该函数直接修改字符串而不返回String!!我不知道。无论如何,只要将其用作我上面的代码即可。
| 归档时间: |
|
| 查看次数: |
2560 次 |
| 最近记录: |