Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 14:36   #1
Ханако Сейсин
 
Аватар для Ханако Сейсин
 
Регистрация: 01.04.2010
Сообщений: 5
По умолчанию C++ Поиск подстроки в строке по маске

В строке записано шестнадцатеричное число, где "байт" - две шестнадцатеричные цифры, то есть в данном случае два символа. Требуется найти (определить, есть или нет) в нем подстроку по маске, где "?" означает один байт, а "*" - любую последовательность байт, в том числе пустую.
Код:
bool f(char *a, char *b, int abeg, int bbeg, int aend, int bend)
{
	bool ok=true;
	int i=abeg, j=bbeg, k;
	while ((i<aend) && (j<bend))
	{
		if ((a[i]==b[j]) && (a[i+1]==b[j+1])) {
			i+=2; j+=2;
		}
		else
		if (a[i]=='?') {
			i++; j+=2;
		}
		else
		if (a[i]=='*') {
			for (k = j; k < bend; k+=2) {
				i++;
				ok=f(a,b,i,k,aend,bend);
				if (!ok) break;
			}
		}
		else
		{ok=false; break;}
	}
	if (i<aend) ok=false;
	return ok;
}
При вызове функции подставляю на место bbeg в цикле все значения от 0 до длины строки.
Только находит он не все... Помогите, пожалуйста.

2F3E?4F в 22312F3E454F763318 находит, а 22*33 нет.

Последний раз редактировалось Ханако Сейсин; 29.04.2010 в 14:39.
Ханако Сейсин вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск подстроки в строке!!! StoneSour Общие вопросы C/C++ 2 15.03.2010 21:31
Задача Delphi 7 - Замена подстроки в строке Юрий2009 Помощь студентам 3 23.04.2009 10:12
Не работает функция проверки подстроки в строке Cold_Night Помощь студентам 1 25.03.2009 01:30
Найти позицию подстроки в строке Ozerich Общие вопросы C/C++ 5 15.12.2008 16:06
Поиск По маске CoreFox Общие вопросы Delphi 11 21.02.2008 21:48