Для поиска строк есть много интересных алгоритмов.Например, в Boyer-Moore вы бы использовали тот факт, что 3-я позиция должна быть 'c', если вы хотите соответствовать 'abc', и если это not 'c', то таблица скажеткак далеко продвинуться (например, если это «d», вы можете пропустить 3, потому что первые 3 буквы вообще не могут вас заинтересовать).
Однако интересные методы поиска по строкам не будут иметь значениявообще против времени, потраченного на чтение файла.Вы должны избегать чтения всего этого, если вы хотите обрабатывать произвольные файлы, потому что дополнительное использование памяти расточительно и замедлит вас.Но вы не можете не прочитать весь файл до того момента, пока не найдете свою строку.