Skip to content
This repository was archived by the owner on Aug 4, 2025. It is now read-only.

Commit 69c9646

Browse files
committed
upd
1 parent f335b76 commit 69c9646

3 files changed

Lines changed: 30 additions & 8 deletions

File tree

README.md

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,34 @@
4545
- Внутренний буфер (по умолчанию) - текстовый буфер создаётся внутри объекта `mString<размер>`
4646
- Внешний буфер - при создании объекта mString передаётся внешний char массив и его размер. Для включения режима внешнего буфера нужно объявить `#define MS_EXTERNAL` перед подключением библиотеки
4747

48+
### Внутренний буфер
4849
```cpp
49-
// в обычном режиме (внутренний буфер)
50+
#include <mString.h>
51+
// внутренний буфер
5052
// размер в количестве символов
5153
mString<размер> str;
54+
```
55+
56+
### Внешний буфер
57+
```cpp
58+
mString(char* nbuf, uint16_t size, bool clear = true);
59+
// nbuf - внешний char буфер
60+
// size - его размер
61+
// clear - очищать при инициализации
62+
```
63+
64+
Пример:
65+
```cpp
66+
#define MS_EXTERNAL
67+
#include <mString.h>
68+
69+
// с очисткой для корректной инициализации памяти
70+
char buf1[10];
71+
mString str1(buf, 10);
5272
53-
// внешний буфер
54-
// размер в количестве байт (буфер должен быть на 1 длиннее макс. длины текста)
55-
char buf[размер];
56-
mString str(buf, размер);
73+
// без очистки (строка "hello" останется)
74+
char buf2[10] = "hello";
75+
mString str2(buf2, 10, false);
5776
```
5877

5978
<a id="usage"></a>
@@ -241,6 +260,7 @@ void loop() {
241260
- Добавлены _P функции для строк из Flash
242261
- Добавлена unsplit()
243262
- v1.3 - добавлена универсальная функция parse
263+
- v1.4 - возможность инициализации внешнего буфера без очистки
244264

245265
<a id="feedback"></a>
246266
## Баги и обратная связь

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=mString
2-
version=1.3
2+
version=1.4
33
author=AlexGyver <alex@alexgyver.ru>
44
maintainer=AlexGyver <alex@alexgyver.ru>
55
sentence=Static lightweight analog of String class

src/mString.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
- Добавлены _P функции для строк из Flash
2121
- Добавлена unsplit()
2222
v1.3 - добавлена универсальная функция parse
23+
v1.4 - возможность инициализации внешнего буфера без очистки
2324
*/
2425

2526
#ifndef _mString_h
@@ -45,10 +46,11 @@ class mString {
4546
char* buf;
4647
uint16_t _MS_SIZE = 0;
4748

48-
mString(char* nbuf, uint16_t size) {
49+
mString(char* nbuf, uint16_t size, bool clear = true) {
4950
buf = nbuf;
5051
_MS_SIZE = size;
51-
clear();
52+
if (clear) clear();
53+
else _len = strlen(buf);
5254
}
5355
#endif
5456

0 commit comments

Comments
 (0)