📜  sds (1)

📅  最后修改于: 2023-12-03 15:20:03.063000             🧑  作者: Mango

SDS 是一个 C 语言实现的简单动态字符串库。它的特点是:

  • O(1) 复杂度计算字符串长度;
  • 可以避免缓冲区溢出问题;
  • 支持字符串拼接、复制、扩容等操作;
  • 采用 COW(Copy On Write)技术实现共享。
安装
从源码安装
$ git clone https://github.com/antirez/sds.git
$ cd sds
$ make
从包管理工具安装
  • Ubuntu 系统上:$ sudo apt-get install libhiredis-dev
  • Homebrew 上:$ brew install hiredis
使用
初始化
#include "sds.h"

sds s = sdsnew("hello");
拼接
sds cat = sdscat(s, " world");
复制
sds copy = sdsdup(s);
清空
sdsfree(s);
获取字符串长度
size_t len = sdslen(s);
重置字符串长度
sdsMakeRoomFor(s, 10); // 扩容
sdsclear(s); // 清空
总结

SDS 是一个简单而又实用的字符串库,可以帮助程序员高效地处理字符串操作问题。当然,除了 SDS,还有其他很多优秀的字符串库可供选择。