目录
Nginx的ngx_str_t字符串结构非常简单和好用。
nxg_string.c文件中包含了很多常用的字符串操作方法,具体我们就不讲解了,主要简单来看下Nginx的字符串数据结构
一、数据结构定义
1. ngx_str_t 字符串结构
/**
* 字符串结构
*/
typedef struct {
size_t len; //字符串长度
u_char *data; //具体的指针地址
} ngx_str_t;
2. ngx_keyval_t 字符串K V结构
/**
* 字符串的K V结构
*/
typedef struct {
ngx_str_t key;
ngx_str_t value;
} ngx_keyval_t;
一、数据结构图
三、具体函数实现
1. 初始化一个字符串 ngx_string
//初始化一个字符串
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
2. 设置字符串
//将一个字符串设置为NULL
#define ngx_null_string { 0, NULL }
//设置一个字符串
#define ngx_str_set(str, text) \
(str)->len = sizeof(text) - 1; (str)->data = (u_char *) text
#define ngx_str_null(str) (str)->len = 0; (str)->data = NULL