好久没有用BCB了,妖哥来看看,请教个问题:如何提高在一个百兆的二进制文件里搜索指定的一个字符串,并写入到RichEdit里?
先准备用TMemoryStream载入文件,然后开缓冲区读出并查找,但是发现可能存在缓冲区截断KeyString的问题,现在的方法是
1. 先fopne(file , "rb")
2. ch = fgetc(file)
3. if(ch == Key[0]) fread Key后面剩余的字符,再strncmp(key , readkey)相等就输出到ricedit,不等再fseek后退读的个数
4. 循环3直到feof
现在测试一个50兆的文件基本上要十多秒,太慢了!