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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2014, 04:26   #1
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию Поиск подстроки в подстроке.

Нужно создать функцию, которая может искать подстроку в подстроке.
Допустим у нас есть строка text = "abaabbccddaa", і подстрока которую нужно искать line = "aa";
Нужно искать подстроку line во второй половине строки text.
Не пойму как реализировать, конечно можно скопировать часть строки из text и искать в ней, но строка text может быть очень большой.
Так же нужно реализировать поиск как с конца так и с начала.
Буду благодарен за советы)
Pein95 вне форума Ответить с цитированием
Старый 03.05.2014, 09:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но строка text может быть очень большой.
На сколько большой? Это похоже на поиск внутри файла?
ИМХО я бы не беспокоился за скорость поиска даже если строка пол-памяти занимает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.05.2014, 10:51   #3
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Выбирай: "Поиск подстроки".
Somebody вне форума Ответить с цитированием
Старый 03.05.2014, 13:46   #4
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

до нескольких десятков мбайт.
Stilet, скорость поиска не критична, но вот копирование части строки в другую занимает время.
Somebody,Спасибо подумаю над этим.
Хотя я собиралса искать подстроку средствами stl.
Pein95 вне форума Ответить с цитированием
Старый 03.05.2014, 13:52   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://www.cplusplus.com/reference/string/string/find/
_Bers вне форума Ответить с цитированием
Старый 03.05.2014, 14:20   #6
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

_Bers, спасибо я знаю про метод find, но мне нужно поиск подстроки в части строки.
Можно скопировать часть строки в другую строку и искать, но это критично по времени.
Pein95 вне форума Ответить с цитированием
Старый 03.05.2014, 15:24   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
копирование части строки в другую занимает время.
А зачем копировать? Работай по указателям.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.05.2014, 15:24   #8
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Pein95 Посмотреть сообщение
_Bers, спасибо я знаю про метод find, но мне нужно поиск подстроки в части строки.
Можно скопировать часть строки в другую строку и искать, но это критично по времени.
Если бы вы знали про метод ::std::string::find, вы бы не создавали эту тему.
Потому что метод умеет то, что вы просите.

Ссылку на документацию см выше.
_Bers вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск подстроки на jTextArea Савва! Общие вопросы по Java, Java SE, Kotlin 1 26.06.2012 14:14
[C++]Добавление к каждой заданной подстроке другой заданной подстроки Бинари Помощь студентам 0 25.10.2011 07:22
Поиск подстроки в строке videolord Общие вопросы по Java, Java SE, Kotlin 2 10.04.2011 09:11
Поиск подстроки int 20h Win Api 2 09.08.2010 20:37