0

今日、私は配列(この場合はポインター)内のバイトのパターンを見つけようとしています

std :: stringneedle()やhaystackなどを使用できることは知っていますが、BYTE(unsigned char)で使用できるかどうか疑問に思っていました。

BYTE * _zoneの長さも知っているので、それも問題ではありません。これを行うために私が行くことができる方法はありますか?(コード例もありがたいです:))

再度、感謝します!

4

3 に答える 3

1

std::stringは実際にはのtypedefです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 に答える
1

find()メソッドは、std::string内の別の配列または文字配列std::stringを検索することを目的としたメンバー関数です。std::stringchar*

したがって、干し草の山がaであるかどうかの質問に答えるには、配列を直接findメソッドstd::stringに渡すことができるはずです。char*

干し草の山がない場合は、それを使って同じことstd::stringをすることができます。std::string

于 2013-03-02T22:21:12.167 に答える