1
我正在尝试创建一个读取文件并搜索特定字符组合的程序。 例如:“/ start/4jy42jygsfsf/end /”。在文件中搜索字符的组合
所以我想找到所有以/开始/结尾为/结尾/开头的“字符串”。
为了做到这一点,我使用read()函数,因为该文件可能是一个二进制文件(它不一定是带有字符的文件)。
我调用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
}
假设每/启动/后跟一个/结束/。
的问题是:
如何处理案件的字符的组合在半切?
例如,假设在第一时间阅读()被调用,在这个缓冲结束时,我发现/明星和阅读下一时间()被调用在第二个缓冲的开始有t/4jy42jygsfsf/end/。
这种组合可能会在任何地方被切断。我认为的解决方案将导致许多许多代码行。有没有什么聪明的方法来处理所有这些情况?