[爆卦]strstr實作是什麼?優點缺點精華區懶人包

為什麼這篇strstr實作鄉民發文收入到精華區:因為在strstr實作這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者skywind814 (天空之風)看板C_and_CPP標題[問題] 有關字串比對時間Sat A...


開發平台(Platform):DevC


最近在練習實做課本裡字串的部分比對部分字串

因為程式碼本來就只是用strstr去看有沒有部分相符合

這部分是沒有問題所以我就不放上來了@@


但突然想試試是否可以做到類似字串拆開比對的效果...舉例來說

如果我今天預設的字串裡面有"abcdefghijk"這樣的字串

想讓使用者自行輸入一串字

是否有辦法做到讓他將自行輸入的字串分別拆成一個字一個字去對預設的字串做比對?

(舉例說的話 假如輸入acg 因為3個字母都可以在原本的那串字中看見 所以傳回1
若是輸入dog 其中的'o'並不存在於原本那串字串 所以回傳0 )

應該採用什麼樣的方式呢? 或是其實有相關的函式只是我沒有找到?

因為原本查的時候似乎沒有找到相關的範例...所以上來請教~謝謝大家>"<

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.242.246
bestwishes:最直覺不就一個一個字元慢慢比對不就好了? O(mn) 08/20 12:40
tropical72:相關函式即為strstr,實做面可先去 google 字串搜尋法 08/20 13:20
tropical72:KMP演算法,(Boyer、Moore演算法),(Robin、Karp演算法) 08/20 13:21
farmerlu:原po想找的是字元,那把預設字串掃描一次做成統計表, 08/20 13:39
farmerlu:輸入的字元與統計表比對即可. 比對時間為常數. 08/20 13:40
tropical72:抱歉,我誤會了.. farmerlu 所說應是較佳之方式。 08/20 13:44
tropical72:實做大概長這樣 http://codepad.org/YRgEzubI 08/20 13:56
tropical72:內建函式有 strtok, strcspn 可應用 08/20 14:04
firejox:應該是strspn 這樣才能比對.... 08/21 21:18

你可能也想看看

搜尋相關網站