0

今天我试图在数组中找到一个字节模式(在这种情况下是指针)

我知道我可以使用 std::string needle() 和 haystack 等,但我想知道是否可以将它与 BYTE(无符号字符)一起使用?

我也知道 BYTE *_zone 的长度,所以这也不是问题。我有什么办法可以做到这一点?(也赞赏任何代码示例:))

再次感谢!

4

3 回答 3

1

find()方法std::string是一个成员函数,用于在 std::string中查找另一个std::string或字符数组char*

因此,要回答您的问题,如果 haystack 是 a std::string,您应该能够将char*数组直接传递给 find 方法。

如果干草堆不是std::string你可以从中做std::string出来,然后做同样的事情。

于 2013-03-02T22:21:12.167 回答
1

std::string实际上是std::basic_string<char>. 您可以std::basic_string<BYTE>改用,并且大多数(全部?)std::string功能,特别是.find(),都可以正常工作。

于 2013-03-02T22:19:17.080 回答
1

如果您不想使用现有的库函数,请实现您最喜欢的通用字符串匹配算法,例如Knuth-Morris-PrattBoyer-MooreRabin-Karp

于 2013-03-02T22:19:22.960 回答