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