Skip to content

lepustse/dstr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dstr

1、介绍

这是一个在 RT-Thread 上,基于ANSI/ISO C(C89)实现的动态字符串软件包

1.1 目录结构

名称 说明
inc 头文件目录
src 源代码目录
examples 例程目录

1.2 许可证

dstr package 遵循 LGPLv2.1 许可,详见 LICENSE 文件。

1.3 依赖

  • RT-Thread 3.0+

2、如何打开 dstr

使用 dstr package 需要在 RT-Thread 的包管理器中选择它,具体路径如下:

RT-Thread online packages
    miscellaneous packages --->
        [*] dstr: a dynamic string package

然后让 RT-Thread 的包管理器自动更新,或者使用 pkgs --update 命令更新包到 BSP 中。

3、使用 dstr

使用dstr可参考例子工程,该工程位于:/dstr/examples/examples_dstr.c

3.1 创建动态字符串对象

rt_dstr_t *rt_dstr_new(const char *str);

参数 描述
name 源字符串
return 创建成功,将返回dstr对象指针;创建失败则返回NULL

3.2 删除动态字符串对象

void rt_dstr_del(rt_dstr_t *thiz);

参数 描述
thiz 动态字符串对象
return

3.3 动态字符串连接

rt_dstr_t *rt_dstr_cat(rt_dstr_t *const thiz, const char *src);

参数 描述
thiz 动态字符串对象
src 源字符串
return cat成功,将返回dstr对象指针;cat失败,则返回NULL,但不会更改thiz,交由用户处理

3.4 动态字符串连接(连接几个字符)

rt_dstr_t *rt_dstr_ncat(rt_dstr_t *const thiz, const char *src, size_t n);

参数 描述
thiz 动态字符串对象
src 源字符串
n 需要连接几个字符
return cat成功,将返回dstr对象指针;cat失败,则返回NULL,但不会更改thiz,交由用户处理

3.5 动态字符串比较

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,返回正数

3.6 动态字符串比较(比较几个字符)

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,返回正数

3.7 动态字符串比较(忽略大小写)

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,返回正数

3.8 测量动态字符串长度

int rt_dstr_strlen(rt_dstr_t *const thiz);

参数 描述
thiz 动态字符串对象
return 参数非NULL,将返回动态字符串长度;参数为NULL则返回-1

3.9 字符串格式化输出

int rt_dstr_sprintf(rt_dstr_t *const thiz, const char *fmt, ...);

参数 描述
thiz 动态字符串对象
fmt 格式化字符串
argument... 可选参数,任何类型的数据
return 返回动态字符串长度

4、注意事项

暂无

5、联系方式 & 感谢

About

dynamic string in C

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.6%
  • Python 3.4%