Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/StringConstructors

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Строковые конструкторы [1]

Строковые операторы позволяют манипулировать текстовыми строками самыми разнообразными способами. Вы можете объединять строки при помощи конкатенации, добавлять к строкам различные символы, узнавать длину строки, находить и заменять различные фрагменты строк и т.д. Этот урок научит вас инициализировать строки.

  1. String stringOne = "Hello String";                  // используем строку-константу
  2. String stringOne =  String('a');                    // конвертируем символ-константу в строку
  3. String stringTwo =  String("This is a string");    // конвертируем строку-константу в строку
  4. String stringOne =  String(stringTwo + " with more");// делаем конкатенацию двух строк
  5. String stringOne =  String(13);                     // используем целочисленную константу
  6. String stringOne =  String(analogRead(0), DEC);     // используем целое и основание 10
  7. String stringOne =  String(45, HEX);                // используем целое и основание 16
  8. String stringOne =  String(255, BIN);               // используем целое и основание 2
  9. String stringOne =  String(millis(), DEC);          // используем длинное целое и основание 10

Всеми этими методами можно воспользоваться для объявления строкового объекта. То есть в результате вы получите объект, содержащий символьную строку и с которой можно работать при помощи любого строкового оператора. Чтобы увидеть их в действии, загрузите в Arduino код ниже и откройте окно Serial Monitor. Благодаря функции println() вы увидите результат каждой инициализации – попробуйте сравнить код программы с тем, что увидите в Serial Monitor.

Необходимое оборудование

  • Плата Arduino;

Цепь

Для этого урока никакой цепи строить не нужно. Подключите лишь Arduino к компьютеру (через USB).

Arduino bb.png

Код

  1. /*
  2.   Строковые конструкторы
  3.  
  4.   Несколько примеров создания строк на основе других типов данных.
  5.  
  6.   Создан 27 июля 2010,
  7.   модифицирован 30 августа 2011 Томом Иго (Tom Igoe).
  8.  
  9.   http://arduino.cc/en/Tutorial/StringConstructors
  10.  
  11.   Этот код не защищен авторским правом.
  12.  */
  13.  
  14. void setup() {
  15.   // Инициализируем последовательную передачу данных и ждем открытия порта:
  16.   Serial.begin(9600);
  17.   while (!Serial) {
  18.     ; // ждем подключения последовательного порта (нужно только для Leonardo)
  19.   }
  20.  
  21.   // Отсылаем вступительную часть:
  22.   Serial.println("\n\nString Constructors:");
  23.   Serial.println();
  24. }
  25.  
  26. void loop() {
  27.   // Используем строку-константу:
  28.   String stringOne = "Hello String";    
  29.   Serial.println(stringOne);      // выводим "Hello String"
  30.  
  31.   // Конвертируем символ-константу в строку:
  32.   stringOne =  String('a');        
  33.   Serial.println(stringOne);       // выводим "a"
  34.  
  35.   // Конвертируем строку-константу в строку:
  36.   String stringTwo =  String("This is a string");  
  37.   Serial.println(stringTwo);      // выводим "This is a string"
  38.  
  39.   // Конкатенируем две строки:
  40.   stringOne =  String(stringTwo + " with more");    // выводим "This is a string with more":
  41.   Serial.println(stringOne);      
  42.  
  43.   // Используем константу-целое:
  44.   stringOne =  String(13);        
  45.   Serial.println(stringOne);      // выводим "13"
  46.  
  47.   // Используем целое и основание 10:
  48.   stringOne =  String(analogRead(A0), DEC);  
  49.   // выводим "453" или любое другое число, возвращенное функцией analogRead(A0)
  50.   Serial.println(stringOne);      
  51.  
  52.   // Используем целое и основание 16:
  53.   stringOne =  String(45, HEX);  
  54.   // выводим "2d", что является шестнадцатеричной версией десятичного значения "45":
  55.   Serial.println(stringOne);      
  56.  
  57.   // Используем целое и основание 2
  58.   stringOne =  String(255, BIN);  
  59.   // выводим "11111111", что является бинарной версией значения "255"
  60.   Serial.println(stringOne);      
  61.  
  62.   // Используем длинное целое и основание 10:
  63.   stringOne =  String(millis(), DEC);
  64.   // выводим "123456" или любое другое число, возвращенное функцией millis():
  65.   Serial.println(stringOne);      
  66.  
  67.   // Пока условие верно, ничего не делаем:
  68.   while(true);
  69.  
  70. }

См.также

  1. String object
  2. StringConstructors
  3. StringAdditionOperator
  4. StringIndexOf
  5. StringAppendOperator
  6. StringLengthTrim
  7. StringCaseChanges
  8. StringReplace
  9. StringCharacters
  10. StringStartsWithEndsWith
  11. StringComparisonOperators
  12. StringSubstring

Внешние ссылки

  1. Arduino - String Object Constructors