|
1 | 1 | #include "mString.h" |
2 | | -/* |
3 | | - Создание |
4 | | - mString<размер> str |
5 | | -
|
6 | | - str.length() - текущий размер |
7 | | - str.clear() - очистить |
8 | | - str.add( [char / char* / Fchar / числа / String] ) - добавить |
9 | | - str += [char / char* / Fchar / числа / String] - добавить |
10 | | - str = str + [char / char* / Fchar / числа / String] - можно суммировать |
11 | | - str == [char / char* / числа / String] - сравнить |
12 | | - Для добавления/сравнения с mString используй str.buf |
13 | | -
|
14 | | - Чтение символа по индексу |
15 | | - str[idx] |
16 | | - str.buf[idx] |
17 | | - str.charAt(idx) |
18 | | -
|
19 | | - Запись символа по индексу |
20 | | - str[idx] = с |
21 | | - str.buf[idx] = с |
22 | | - str.setCharAt(idx, c) |
23 | | -
|
24 | | - Доступ к char буферу |
25 | | - str.buf |
26 | | - str.c_str() |
27 | | -
|
28 | | - str.toInt(from) - преобразовать в int начиная с from |
29 | | - str.toUint(from) - преобразовать в uint начиная с from |
30 | | - str.toFloat(from) - преобразовать в float начиная с from |
31 | | - str.startsWith(char*) - начинается с |
32 | | - str.substring(from, to, char* arr) - скопировать с from до to во внешний arr |
33 | | - str.truncate(amount) - обрезать с конца на amount |
34 | | - str.remove(idx, amount) - удалить (вырезать) amount символов начиная с idx |
35 | | - str.toLowerCase() - преобразовать буквы в нижний регистр |
36 | | - str.toUpperCase() - преобразовать буквы в верхний регистр |
37 | | - str.indexOf(char, from) - найти символ char, искать начиная с from |
38 | | - str.indexOf(char*, from) - найти строку char, искать начиная с from |
39 | | - str.split(char* str[], div) - разделить на строки по разделителю div |
40 | | -
|
41 | | - Парсинг пакета, в котором данные разделены разделителем div и оканчиваются символом ter |
42 | | - str.parseBytes(data, len, div, ter) - распарсить содержимое в массив byte длиной len |
43 | | - str.parseInts(data, len, div, ter) - распарсить содержимое в массив int длиной len |
44 | | - div и ter по умолчанию , и NULL |
45 | | - Например для парсинга таких пакетов: "12,34,56" |
46 | | - Кастомные: "12;34;56;78\n" |
47 | | - Парсим str.parseBytes(data, len, ';', '\n') |
48 | | -*/ |
49 | 2 |
|
50 | 3 | void setup() { |
51 | 4 | Serial.begin(9600); |
@@ -139,13 +92,17 @@ void setup() { |
139 | 92 |
|
140 | 93 | // разделение |
141 | 94 | test = "hello,1234,test,5678"; |
142 | | - char* strings[5]; |
| 95 | + char* strings[test.splitAmount(',')]; |
| 96 | + |
143 | 97 | int amount = test.split(strings, ','); |
| 98 | + // также вернёт количество подстрок (равное splitAmount выше) |
144 | 99 | // действие испортит строку, добавив в неё NULLы! |
145 | 100 |
|
146 | 101 | for (int i = 0; i < amount; i++) { |
147 | 102 | Serial.println(strings[i]); |
148 | 103 | } |
| 104 | + |
| 105 | + test.unsplit(','); // вернуть строку к исходному виду |
149 | 106 | } |
150 | 107 |
|
151 | 108 | void loop() { |
|
0 commit comments