预前思考🤔
- 结构定义,API操作
- 优缺点,适用场景
- 对比,与C字符串、C++中String、Redis中sds的比较
概要
实现文件:src/core/ngx_string.h|c
名称:ngx_str_t
数据结构图
定义
使用len
明确指明字符串长度,而非用'\0'
来标识字符串结尾。
typedef struct {
size_t len; // 字符串长度
u_char *data; // 指针地址
} ngx_str_t;
操作
操作函数的主体参数还是C字符串,而非ngx_string_t。
操作 | 代码 | 备注 |
---|---|---|
初始化 | ||
赋值 | ||
求长size | ngx_strnlen | |