Łączenie łańcuchów znaków

Arduino:
Łączenie łańcuchów znaków

Jak to zrobić:

String greeting = "Cześć ";
String name = "Janek";
String message = greeting + name + "!";
Serial.begin(9600);
Serial.println(message); // Wyświetla: Cześć Janek!

Alternatywnie, przy użyciu metod dla obiektów String:

String greeting = "Cześć ";
greeting.concat("Janek");
greeting.concat("!");
Serial.begin(9600);
Serial.println(greeting); // Wyświetla: Cześć Janek!

Jeżeli przetwarzasz dane w pamięci podręcznej, unikaj String gdzie to możliwe:

char greeting[] = "Cześć ";
char name[] = "Janek";
char message[20];
strcpy(message, greeting);
strcat(message, name);
strcat(message, "!");
Serial.begin(9600);
Serial.println(message); // Wyświetla: Cześć Janek!

Deep Dive

Konkatenacja łańcuchów znaków nie jest czymś nowym – od dziesięcioleci jest fundamentem języków programowania. W przypadku Arduino i innych ograniczonych zasobowo środowisk, ważne jest, by pamiętać o zarządzaniu pamięcią. Używanie typu String może prowadzić do fragmentacji pamięci dynamicznej, szczególnie w przypadku wielokrotnego łączenia. Alternatywą może być użycie char arrays z funkcjami strcpy i strcat, które są bardziej przewidywalne pod względem zużycia pamięci.

Zobacz również