[英]C/C++ on Arduino string .replace() function is not working
我在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");
}
'operator ='不匹配(操作數類型為'String'和'void')
我不知道怎么了,謝謝您的幫助!
.Replace()
是一個無效函數。 它直接修改字符串,因此無需將其分配給任何內容。 只需像下面那樣使用它,它將替換它:
msgtext.replace("\r","\\r");
msgtext.replace("\n","\\n");
Arduino的replace()
函數與您在此處使用的函數不同,因為此處是C / C ++編程語言。 那確實返回一個String
編輯:
正如@unwind所注意到的, Arduino文檔指出replace()
返回一個字符串。 但是,語法部分AND在其示例代碼HERE中 ,顯示了該函數的常規用法,該函數直接修改字符串而不返回String
! 我不知道。 無論如何,只要將其用作我上面的代碼即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.