2011-09-19 23 views
0

できるだけ早く長いテキストで文字列pattrenを見つけるために使用できるアルゴリズムについては、私が読んでいます。実行可能ファイルでaho-corasickアルゴリズムを使用したいのですが、どのような関数か、またはwin apiはバイナリを検索開始準備に役立てることができますか?バイナリでのパターン検索

+0

Windows APIの一部としてAho-Corasickアルゴリズムの実装が提供されていれば、私は非常に驚いています。 – NPE

+1

あなたの質問は非常に広範で、現在の形で答えることは不可能です。 Aho-Corasickアルゴリズムは、ファイル内の*複数パターンの出現を検索していない限り、特に有用ではありません。あなたが単一のパターンを探しているなら、Boyer-Mooreアルゴリズムを考えてみてください。バイナリファイルの検索に関しては、標準I/O関数を使用してファイルを開き、バッファにデータを読み込む必要があります。難しい部分は、バッファが正しく維持されているため、検索がバッファ境界に及ぶ可能性があります。 –

+0

私はACを自分で実装したいと思います。私はAC検索を実装するのに便利なAPIについて質問しています。最初にメモリにファイルをマップする必要がありますか? – Aan

答えて

0

Windows用の無料のC++実装:link(ページの下部に向かって「Aho-Corasickソースコード」を探します)。