Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二进制文件中的模式搜索_C++_C_Algorithm_Winapi - Fatal编程技术网

C++ 二进制文件中的模式搜索

C++ 二进制文件中的模式搜索,c++,c,algorithm,winapi,C++,C,Algorithm,Winapi,我读过一些算法,这些算法可以用来尽可能快地在长文本中找到字符串模式。我正在寻找在可执行文件中使用aho-corasick算法,有哪些函数或win-api可以使二进制文件准备好开始搜索 < P> Windows有一个免费的C++实现:寻找页面底部的Aho Corasick源代码。如果Aho Corasick算法的实现是Windows API的一部分,我会很惊讶。你的问题过于广泛,无法以当前的形式回答。除非在文件中搜索多个模式的出现,否则Aho-Corasick算法并不特别有用。如果你正在寻找一个单

我读过一些算法,这些算法可以用来尽可能快地在长文本中找到字符串模式。我正在寻找在可执行文件中使用aho-corasick算法,有哪些函数或win-api可以使二进制文件准备好开始搜索

< P> Windows有一个免费的C++实现:寻找页面底部的Aho Corasick源代码。如果Aho Corasick算法的实现是Windows API的一部分,我会很惊讶。你的问题过于广泛,无法以当前的形式回答。除非在文件中搜索多个模式的出现,否则Aho-Corasick算法并不特别有用。如果你正在寻找一个单一的模式,考虑Boyer Moore算法。至于搜索二进制文件,您需要使用标准I/O函数打开文件并将数据读入缓冲区。困难的部分是正确地维护缓冲区,以便搜索可以跨越缓冲区边界。我想自己实现AC,我想问一下对实现AC搜索有用的api。我需要先映射内存中的文件吗?或者确切地说!由于算法似乎永远不会返回,所以您只需从std::ifstream中读取一个字符,它自动为您完成所有工作。它自动为您完成所有工作。。。但为了尽可能快,最好不要让ifstream逐字节读取,而是读取一些大小为几千字节的字符数组,例如4KB或16KB。这将减少自动控制操作的数量。