以下のコードは、特定のパターンのファイルを検索しています。このコードに追加できる可能性がありますので、4つのパターンを検索する可能性があります。それは最初のものと一致しない場合C#Pattern Search
だから、それはそれは
多くの感謝を二番目に一致するというように....どうかを確認します。 *
byte[] pattern = new byte[5] { 00, 00, 00, 08, 00 };
byte[] file = File.ReadAllBytes("C:\\123.cfg");
var result = Enumerable.Range(0, file.Length - pattern.Length + 1)
.Where(i => pattern.Select((b, j) => new { j, b })
.All(p => file[i + p.j] == p.b))
.Select(i => i + pattern.Length - 1);
int[] PatternArray = result.ToArray();
** * ** ** * ** EDIT ** ** * ** * ** *
プログラムIを実行しているときこれは
response Count = 6 System.Collections.Generic.List<int[]>
[0] {int[1]} int[]
[0] 1577 int
[1] {int[0]} int[]
[2] {int[0]} int[]
[3] {int[0]} int[]
[4] {int[0]} int[]
[5] {int[6]} int[]
[0] 31 int
[1] 246 int
[2] 448 int
[3] 663 int
[4] 864 int
[5] 1734 int
パターンの結果は、すべてがそこにあるように見えることが報告されたものです....配列が保存されたものを参照するには、ブレークポイントを挿入、私は右、これは二次元配列であることを考えていますか?もしあれば、とにかく私はそれを一つの配列に入れることができますか?
感謝
これはstigtforwardよりも優れた方法です1-1一致http://en.wikipedia.org/wiki/String_searching_algorithm – driushkin
ウイルススキャナはどのように進んでいますか? ;) –