如何在 Arduino C 中向此函数添加字符串?

How to add a string to this function in Arduino C?

我一直在研究这段代码,一直在寻找解决这个问题的方法,但无济于事。有人告诉我你要像在 Arduino C++ 中那样向函数添加一个字符串:

myFunction(String myString)

我也看过使用它的示例。这是有问题的代码块。

if (piezoV >= 0.25) {
    Serial.println(piezoV);
    // Serial.println(F("Playing track " + tracknum +""));
    String file = String(trackid) + String(tracknum) + String(ext);
    musicPlayer.playFullFile(String file);
    int tracknum = tracknum + 1;
  }

代码获取这个错误:

musicPlayer.playFullFile(String file); - expected primary-expression before 'file'

我是 Arduino C++ 的新手,我正在使用我学到的其他语言的经验来提供帮助,但我想知道 SO 是否可以帮助我解决这个问题。提前致谢。

musicPlayer.playFullFile(String file);

不是 调用 C++ 函数的有效方法。您声明函数的类型为:

void playFullFile(String file) {
    doWhateverIsNeededWith(file);
}

但是你调用它时没有类型:

String file = "./pax_singing_badly_in_shower.mp3"; // torture user :-)
musicPlayer.playFullFile(file);