今天我试图在数组中找到一个字节模式(在这种情况下是指针)
我知道我可以使用std :: string needle()和haystack等,但我想知道我是否可以使用BYTE(unsigned char)?
我也知道BYTE * _zone的长度,所以这也不是问题。我有什么办法可以做到这一点? (也赞赏任何代码示例:))
再次感谢!
答案 0 :(得分:1)
std::string
实际上是std::basic_string<char>
的typedef。您可以使用std::basic_string<BYTE>
代替,而大多数(所有?)std::string
功能,尤其是.find()
,只会有效。
答案 1 :(得分:1)
如果您不想使用现有的库函数,请实现您最喜欢的通用字符串匹配算法,例如Knuth-Morris-Pratt,Boyer-Moore或Rabin-Karp。
答案 2 :(得分:1)
find()
std::string
方法是一个成员函数,用于在std :: string中找到另一个std::string
或一个字符数组char*
所以如果大海捞针是std::string
,那么要回答你的问题,你应该能够将char*
数组直接传递给find方法。
如果大海捞针不是std::string
,你可以用它来制作std::string
,然后再做同样的事情。