今天我试图在数组中找到一个字节模式(在这种情况下是指针)
我知道我可以使用 std::string needle() 和 haystack 等,但我想知道是否可以将它与 BYTE(无符号字符)一起使用?
我也知道 BYTE *_zone 的长度,所以这也不是问题。我有什么办法可以做到这一点?(也赞赏任何代码示例:))
再次感谢!
的find()
方法std::string
是一个成员函数,用于在 std::string中查找另一个std::string
或字符数组char*
因此,要回答您的问题,如果 haystack 是 a std::string
,您应该能够将char*
数组直接传递给 find 方法。
如果干草堆不是std::string
你可以从中做std::string
出来,然后做同样的事情。
std::string
实际上是std::basic_string<char>
. 您可以std::basic_string<BYTE>
改用,并且大多数(全部?)std::string
功能,特别是.find()
,都可以正常工作。
如果您不想使用现有的库函数,请实现您最喜欢的通用字符串匹配算法,例如Knuth-Morris-Pratt、Boyer-Moore或Rabin-Karp。