Arduino:
Поиск длины строки
Как сделать:
void setup() {
Serial.begin(9600); // Начало серийной связи
String myString = "Hello, Arduino!"; // Ваша строка здесь
int stringLength = myString.length(); // Определение длины строки
Serial.print("Длина строки составляет: ");
Serial.println(stringLength); // Выводит длину
}
void loop() {
// Здесь делать нечего.
}Пример вывода:
Длина строки составляет: 15Погружение в детали
В прошлом С-программисты использовали функцию strlen() из <string.h>, считая символы до нуль-терминатора. В мире Arduino класс String упрощает жизнь благодаря встроенному методу length(). Но помните, использование объектов String может со временем фрагментировать ограниченную память устройства. Альтернатива? Использовать массивы char (C-строки), которые более дружественны к памяти, но их сложнее обрабатывать.
Для крупных проектов всегда учитывайте управление памятью. С методом length() дополнительные вычисления не нужны — объект String отслеживает свой размер. Внутренне length() — это быстрый поиск, а не подсчет символов. Это эффективно! Но если у вас мало памяти, вернитесь к основам с массивами char и ручными расчетами длины, как в старые добрые времена с strlen().
Смотрите также
- Справочник по
Stringв Arduino: https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/ - Функция
strlen()для C-строк в Arduino: https://www.arduino.cc/reference/en/language/variables/data-types/string/functions/strlen/ - Обсуждение
Stringпротив массива char в Arduino: https://forum.arduino.cc/t/string-vs-char-array/678207