Зробити першу літеру рядка великою

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.