Skip to content

lepustse/dstr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dstr

1、介绍

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

1.1 目录结构

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

1.2 许可证

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

1.3 依赖

  • 对 RT-Thread 无依赖,也可用于裸机。

2、如何打开 dstr

使用 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 命令下载软件包

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 *thiz, const char *src);

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

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

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,交由用户处理

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 字符串格式化输出

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

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

3.10 字符串格式化输出(以追加的方式实现)

rt_dstr_t *rt_dstr_append_printf(rt_dstr_t *thiz, const char *format, ...);

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

4、注意事项

暂无

5、联系方式

About

dynamic string in C

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.6%
  • Python 3.4%