Arduino:
Interpolacja łańcuchów znaków
How to: (Jak to zrobić:)
Arduino nie ma natywnej funkcji interpolacji ciągów, ale możemy osiągnąć podobny efekt używając sprintf
lub łącząc ciągi przy użyciu operatora +
.
char buffer[50];
int temperature = 23;
void setup() {
Serial.begin(9600);
// Użycie sprintf do wstawienia zmiennej do ciągu
sprintf(buffer, "Temperatura to: %d stopni Celsjusza.", temperature);
Serial.println(buffer);
// Alternatywne łączenie ciągów
String message = "Temperatura to: " + String(temperature) + " stopni Celsjusza.";
Serial.println(message);
}
void loop() {
// Nic nie robimy w pętli.
}
Wyjście jest takie samo dla obu metod:
Temperatura to: 23 stopni Celsjusza.
Deep Dive (Dogłębna analiza)
Choć Arduino nie posiada wbudowanej funkcji interpolacji ciągów jak w językach wyższego poziomu (np. Python), ‘sprintf’ jest wszechstronnym narzędziem służącym do formatowania ciągów. Po raz pierwszy pojawiło się w języku C i jest często używane w systemach wbudowanych dla zarządzania pamięcią. Alternatywnie, możemy łączyć ciągi za pomocą +
, ale jest to mniej wydajne pamięciowo. Implementacja sprintf
na platformach Arduino nie obsługuje zmiennych typu float
domyślnie, więc dla wartości zmiennoprzecinkowych trzeba korzystać z dtostrf
.