Ich mache eine Arduino-powered Uhr, und dabei versuche ich, Integer in zweistellige formatierte Strings für die Zeit Auslesen (z. B. 1 in "01") zu formatieren.Arduino String Formatierung Problem
Im Folgenden gibt mir "Fehler: erwartete Primärausdruck vor '{' token":
char * formatTimeDigits (int num) {
char strOut[3] = "00";
if (num < 10) {
strOut = {'0', char(num)};
}
else {
strOut = char(num);
}
return strOut;
}
Ich versuche, es wie folgt zu verwenden:
void serialOutput12() {
printWeekday(weekday); // picks the right word to print for the weekday
Serial.print(", "); // a comma after the weekday
Serial.print(hour12, DEC); // the hour, sent to the screen in decimal format
Serial.print(":"); // a colon between the hour and the minute
Serial.print(formatTimeDigits(minute)); // the minute
Serial.print(":"); // a colon between the minute and the second
Serial.print(formatTimeDigits(second)); // the second
}
Irgendwelche Ideen, Was fehlt mir hier?
Ok danke! Da ich an C# gewöhnt bin, vermute ich, dass es einen Verweis auf die Funktion (eek) geben würde. – amb9800
Es (Ihr orignal Beispiel) * gibt * eine Referenz zurück, aber zu einem Objekt, das nicht mehr existiert, nachdem die Funktion beendet wurde (so dass es zu einer freien Referenz wird). C hat keine eingebaute Referenzzählung/Müllsammlung. – caf