Interpolacja łańcuchów znaków

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.

See Also (Zobacz również)