Nginx原始碼分析 字串處理

2021-06-17 21:19:32 字數 695 閱讀 5020

ngx_string.c

void ngx_strlow(u_char *dst, u_char *src, size_t n);

將src的前n個字元轉換成小寫存放在dst字串當中,呼叫者需要保證dst指向的空間大於等於n。操作不會對原字串產生變動。如要更改原字串,可以:

ngx_str_t str = ngx_string("hello world"); ngx_strlow(str->data, str->data, str->len);

void

ngx_strlow(u_char *dst, u_char *src, size_t n)

}

大寫轉小寫

#define ngx_tolower(c)      (u_char) ((c >= 'a' && c <= 'z') ? (c | 0x20) : c)

a   65    1000001

a   97    1100001

0x20=      100000

tmod|= 0x20等價於

tmod= tmod|0x20  

表示將tmod的第5位置1,而後者表示直接賦值。

#define ngx_toupper(c)      (u_char) ((c >= 'a' && c <= 'z') ? (c & ~0x20) : c)

字串處理函式原始碼

size t lm strlen const char str size t lm strlen2 const char str char lm strcpy char dest,const char src char lm strncpy char dest,const char src,size...

SDS字串原始碼分析

0.前言 這裡對redis底層字串的實現分析,但是看完其實現還沒有完整的乙個概念,即不太清楚作者為什麼要這樣子設計,只能窺知一點,需要看完redis如何使用再回頭來體會,有不足之處還望告知。涉及檔案 sds.h sds.c 1.資料結構 1 typedef char sds 23 struct sd...

nginx 原始碼分析

近期準備研究一下nginx原始碼,此處記錄一下。計畫 1 了解evan miller 的文章 2 了解nginx的組織架構 3 了解nginx的基本資料結構 4 熟悉nginx的主要module及執行機制,主要是core http event os 5 簡單的module開發及測試 一 準備 為了方...