方法sprintf()在Arduino上无效。我怎样才能将字符串转换为char *?
if(triggerNumber == 4)
{ currenttrack = 5;
}
sprintf(trackName, "track%03d.mp3", currenttrack);
playMP3(trackName); //Go play XX.mp3
答案 0 :(得分:1)
我相信如果包含stdio.h,snprintf将会起作用
snprintf(trackName, sizeof(trackName), "track%03d.mp3", currenttrack);
答案 1 :(得分:1)
您可以使用Arduino中的String类。 在你的情况下
String trackName = "track";
track += currentTrack;
if (currentTrack < 9) {
track += currentTrack;
}
else {
track += "0";
track += currentTrack;
}
track += ".mp3";
playMP3(trackName);
String类中还有其他可能有用的String操作方法。见http://arduino.cc/en/Reference/StringObject
答案 2 :(得分:0)
您可以简单地使用.c_str()。
返回一个指向一个数组的指针,该数组包含一个以空值终止的字符序列(即C字符串),代表字符串对象的当前值。