Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск byte[] в byte[], тривиальная задача 
V
    Опции темы
retto
Дата 17.5.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



необходимо организовать поиск байтового массива
Код

byte[] search =  new {8,8,8};

в другом байтовом массиве:
byte[]  buffer  = new {3,5,25,195,8,8,8,8,5,8,99}

и необходимо чтобы в находило вот так: 3,5,25,195,8,8,8,8,5,8,99 а не вот так: 3,5,25,195,8,8,8,8,5,8,99

вот простая задачка, а чтобы было просто сделать не получается
PM MAIL   Вверх
Voyager
Дата 17.5.2011, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 532
Регистрация: 8.2.2005

Репутация: 3
Всего: 18



Ищи с конца. При нахождении совпадения сдвигайся налево на длину совпадения и снова ищи.
PM   Вверх
Rohoss
Дата 17.5.2011, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 2
Всего: 18



Можно искать с начала. Если один байт совпадает с первым байтом искомого масива, проверяй следующий байт. Если найдена последовательность байт как в исходном массиве, пропускай длину исходного массива и ищи снова


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
retto
Дата 17.5.2011, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



Rohoss, хороший вариант. спасибо
PM MAIL   Вверх
Rohoss
Дата 17.5.2011, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 2
Всего: 18



retto, а как же гугль? http://stackoverflow.com/questions/283456/...-pattern-search

Добавлено через 38 секунд
http://boncode.blogspot.com/2011/02/net-c-...byte-array.html


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
retto
Дата 17.5.2011, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



Rohoss, находил
PM MAIL   Вверх
Rohoss
Дата 17.5.2011, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 2
Всего: 18





--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
retto
Дата 17.5.2011, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



Цитата(Rohoss @  17.5.2011,  12:11 Найти цитируемый пост)
http://msdn.microsoft.com/ru-ru/library/1kkxfxdd.aspx 

не подходит
PM MAIL   Вверх
Rohoss
Дата 17.5.2011, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 2
Всего: 18



Цитата(retto @  17.5.2011,  12:13 Найти цитируемый пост)
не подходит 

чем?

Добавлено через 10 минут и 39 секунд
Можешь использовать метод Reverse для обоих массивов, дабы искать с конца...


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
K0RAN
Дата 17.5.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.3.2011

Репутация: нет
Всего: нет



ТС, нескромный вопрос: вам что нужно получать из этого? положение подмножества? просто факт наличия этого подмножества в множестве?

как вариант вы можете ваши массивы преобразовать в строки вида "1.21.123.54" и так далее, и тогда использовать метод String.IndexOf() на ваше усмотрение (ну и другие методы класса String) как вам подскажет ваша фантазия. как только вы выделите и сделаете всё что вам нужно сразу же переводите обратно в байт-массив (метод String.Split()).
PM MAIL   Вверх
-Mikle-
Дата 17.5.2011, 13:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Цитата(K0RAN @  17.5.2011,  16:32 Найти цитируемый пост)
как вариант вы можете ваши массивы преобразовать в строки вида "1.21.123.54" и так далее

Это плохой вариант по многим причинам, простите.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
retto
Дата 17.5.2011, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



K0RAN, нужно получить положение подмножества

Добавлено через 54 секунды
реализовал вот так:

Цитата(Rohoss @  17.5.2011,  11:34 Найти цитируемый пост)
Можно искать с начала. Если один байт совпадает с первым байтом искомого масива, проверяй следующий байт. Если найдена последовательность байт как в исходном массиве, пропускай длину исходного массива и ищи снова 


всем спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.