Arduino:Примеры/StringConstructors

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

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Строковые конструкторы [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

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