strstr這個fucntion是針對搜尋C字串設計的
而memmem是針對搜尋某個character buffer設計的
聽出來有什麼不一樣了嗎
如果你的character buffer裡面包含有多個null terminator的話
用strstr就有可能會搜尋不到substring
因為strstr只會搜尋第一個null terminator之前的字串內容
這時候就需要memmem啦
不過這個function是GNU的extension喔
所以記得要定義#define _GNU_SOURCE才可以使用喔
又學到一課啦~
"strstr這個fucntion是針對搜尋C字串設計的 而memmem是針對搜尋某個character buffer設計的 聽出來有什麼不一樣了嗎 如果你的character buffer裡面包含有多個null terminator的話 用strstr就有可能會搜尋不到substring 因為strstr只會搜尋第一個null terminator之前的字串內容 這時候就需要memmem啦 不過這個function是GNU的extension喔 所以記得要定義#define _GNU_SOURCE才可以使用喔 又學到一課啦~"
- Infinite Waiting: strstr與memmem有啥差別!? - yam天空部落 (在「Google 網頁註解」中檢視)
1 comment:
memmem不只可以用來比對字串類的東西,只要是能存在記憶體裡的東西都可以拿來比對,所以可以拿來比對struct都沒有問題。這一點可以從function prototype資料傳遞格式是void*中可以得知。
Post a Comment