2011-09-19 37 views
0

我讀了一些可以用來在儘可能快的長文本中查找字符串pattren的算法。我正在尋找在可執行文件中使用aho-corasick算法,什麼函數或win api可以用於使二進制準備開始搜索?在二進制文件中搜索模式

+0

如果Aho-Corasick算法的實現作爲Windows API的一部分提供,我會感到非常驚訝。 – NPE

+1

你的問題過於寬泛,不可能以目前的形式回答。 Aho-Corasick算法不是特別有用,除非您在文件中搜索* multiple *模式的出現。如果您正在尋找單一模式,請考慮Boyer-Moore算法。至於搜索二進制文件,您需要使用標準I/O函數來打開文件並將數據讀入緩衝區。困難的部分是正確維護緩衝區,以便搜索可以跨越緩衝區邊界。 –

+0

我想自己實現AC,我在詢問有助於實現AC搜索的API。我是否需要首先映射內存中的文件或者究竟是什麼! – Aan

回答

0

這裏有一個免費的Windows C++實現:link(在頁面底部尋找「Aho-Corasick源代碼」)。