Всем здравствуйте.
Существует ли способ заменить штатные функции Strings.InStr, Strings.Left, Strings.Right чтобы ускорить обработку строк? При этом исходная строка хранится в памяти, и на нее есть указатель.
От куда такая потребность:
Делаю программу для работы с wim-образами. В момент применения или захвата образа, происходит CallBack с информацией о обработки текущего файла или каталога. Таких событий столько сколько файлов в образе (несколько десятков тысяч). При работе с Wim-образом (в момент применения или захвата), есть возможность пропускать "ненужные" файлы и каталоги, установкой определенного значения в возврат функции.
Но суть в том, что бы как можно быстрее понять, обрабатываемая строка (полный путь к файлу) подходит мод "маску" исключений или нет. Исходная строка хранится в памяти, и у меня есть только указатель на неё. Вначале я считываю строку по указателю, потом сравниваю ее с "маской" исключений, (например строка заканчивающееся на ".tmp" или ".dmp" или начинающееся на "\Windows\Temp") используя штатные функции Strings.InStr или Strings.Left(Strings.LCase()) и Strings.Right(Strings.LCase()).
Сейчас это работает, но я понимаю что это не эффективно, и возможно есть способ быстрой проверки на присутствие подстроки, с использованием указателей.
Возможно где то не корректно или не точно выразился.