Arduino:
Зробити першу літеру рядка великою
Як це зробити:
Arduino, яке в основному відоме взаємодією з апаратним забезпеченням, також включає базові можливості маніпулювання рядками через свій об’єкт String
. Однак, воно не має прямої функції capitalize
, яка бачена в мовах вищого рівня. Таким чином, ми реалізуємо приведення до великої літери, перебираючи рядок і застосовуючи перетворення регістру.
Ось простий приклад без використання сторонніх бібліотек:
String capitalizeString(String input) {
if (input.length() == 0) {
return ""; // Повертаємо порожній рядок, якщо вхідний рядок порожній
}
input.toLowerCase(); // Спочатку перетворюємо весь рядок в нижній регістр
input.setCharAt(0, input.charAt(0) - 32); // Приводимо перший символ до великої літери
// Приводимо до великої літери символи, які йдуть після пробілу
for (int i = 1; i < input.length(); i++) {
if (input.charAt(i - 1) == ' ') {
input.setCharAt(i, input.charAt(i) - 32);
}
}
return input;
}
void setup() {
Serial.begin(9600);
String testStr = "hello arduino world";
String capitalizedStr = capitalizeString(testStr);
Serial.println(capitalizedStr); // Вивід: "Hello Arduino World"
}
void loop() {
// Пустий цикл
}
Цей фрагмент коду визначає функцію capitalizeString
, яка спочатку перетворює весь рядок в нижній регістр, щоб стандартизувати його випадок. Потім вона приводить до великої літери перший символ та будь-який символ, що слідує за пробілом, ефективно приводячи кожне слово у вхідному рядку до великих літер. Зауважте, що ця первісна реалізація передбачає кодування символів ASCII і може потребувати коригувань для повної підтримки Unicode.
Наразі, не існує широко прийнятих сторонніх бібліотек, спеціально для маніпуляції рядками в екосистемі Arduino, головним чином через її акцент на взаємодії з апаратним забезпеченням та ефективності. Однак, наданий приклад є простим способом досягти приведення рядка до великих літер в програмному середовищі Arduino.