Я пытаюсь создать программу, которая читает файл и ищет определенную комбинацию символов. Например: «/ start/4jy42jygsfsf/end /».Поиск комбинации символов в файле
Поэтому я хочу найти все «строки», начинающиеся с/start/и заканчивающиеся на/end /.
Для этого я использую функцию read(), потому что файл может быть двоичным (он не должен быть файлом с символами).
я вызвать функцию чтения() как то:
#define BUFFSIZE 4000
// more declarations
while (read(file_descriptor, buffer, BUFFSIZE) > 0)
{
//search for /start/
//then search for /end/
//build a string with all the chars between these two
//keep searching till you reach the end of buffer
}
Предположим, что каждая/запуска/сопровождается/конец /.
Возникает вопрос:
Как справиться с делами, что эта комбинация символов разрезают пополам?
Например, допустим, что первый раз прочитал() вызывается, в конце этого буфера I пятно /звезда и в следующий раз прочитать() вызывается в начале второго буфера есть t/4jy42jygsfsf/end/.
Эта комбинация может быть разрезана в любом месте. Решения, которые, как я думал, приведут ко многим многим строкам кода. Есть ли разумный способ справиться со всеми этими случаями?