这是一个在 RT-Thread 上,基于 ANSI/ISO C89 实现的动态字符串软件包。
名称 | 说明 |
---|---|
inc | 头文件目录 |
src | 源代码目录 |
examples | 例程目录 |
dstr package 遵循 LGPLv2.1 许可,详见 LICENSE
文件。
- 对 RT-Thread 无依赖,也可用于裸机。
使用 dstr package 需要在 RT-Thread 的包管理器中选择它,详情如下:
RT-Thread online packages --->
miscellaneous packages --->
[*] dstr: a dynamic string package
Version (latest) --->
dstr Options --->
[*] dstr test example
保存 menuconfig 配置后使用 pkgs --update
命令下载软件包
使用 dstr 可参考例子代码,该代码位于:/dstr/examples/examples_dstr.c
rt_dstr_t *rt_dstr_new(const char *str);
参数 | 描述 |
---|---|
name | 源字符串 |
return | 创建成功,将返回 dstr 对象指针;创建失败则返回 NULL |
void rt_dstr_del(rt_dstr_t *thiz);
参数 | 描述 |
---|---|
thiz | 动态字符串对象 |
return | 无 |
rt_dstr_t *rt_dstr_cat(rt_dstr_t *thiz, const char *src);
参数 | 描述 |
---|---|
thiz | 动态字符串对象 |
src | 源字符串 |
return | cat 成功,将返回 dstr 对象指针;cat 失败,则返回 NULL,但不会更改 thiz,交由用户处理 |
rt_dstr_t *rt_dstr_ncat(rt_dstr_t *thiz, const char *src, size_t n);
参数 | 描述 |
---|---|
thiz | 动态字符串对象 |
src | 源字符串 |
n | 需要连接几个字符 |
return | cat 成功,将返回 dstr 对象指针;cat 失败,则返回 NULL,但不会更改 thiz,交由用户处理 |
int rt_dstr_cmp(rt_dstr_t *const dstr1, rt_dstr_t *const dstr2);
参数 | 描述 |
---|---|
dstr1 | 动态字符串1 |
dstr2 | 动态字符串2 |
return | dstr1 < dstr2,返回负数 |
return | dstr1 = dstr2,返回0 |
return | dstr1 > dstr2,返回正数 |
int rt_dstr_ncmp(rt_dstr_t *const dstr1, rt_dstr_t *const dstr2, size_t n);
参数 | 描述 |
---|---|
dstr1 | 动态字符串1 |
dstr2 | 动态字符串2 |
n | 需要比较几个字符 |
return | dstr1 < dstr2,返回负数 |
return | dstr1 = dstr2,返回0 |
return | dstr1 > dstr2,返回正数 |
int rt_dstr_casecmp(rt_dstr_t *const dstr1, rt_dstr_t *const dstr2);
参数 | 描述 |
---|---|
dstr1 | 动态字符串1 |
dstr2 | 动态字符串2 |
return | dstr1 < dstr2,返回负数 |
return | dstr1 = dstr2,返回0 |
return | dstr1 > dstr2,返回正数 |
int rt_dstr_strlen(rt_dstr_t *const thiz);
参数 | 描述 |
---|---|
thiz | 动态字符串对象 |
return | 参数非 NULL,将返回动态字符串长度;参数为 NULL 则返回-1 |
rt_dstr_t *rt_dstr_sprintf(rt_dstr_t *thiz, const char *fmt, ...);
参数 | 描述 |
---|---|
thiz | 动态字符串对象 |
fmt | 格式化字符串 |
argument... | 可选参数,任何类型的数据 |
return | 返回 dstr 对象指针 |
rt_dstr_t *rt_dstr_append_printf(rt_dstr_t *thiz, const char *format, ...);
参数 | 描述 |
---|---|
thiz | 动态字符串对象 |
fmt | 格式化字符串 |
argument... | 可选参数,任何类型的数据 |
return | 返回 dstr 对象指针 |
暂无