请教一个 fseek后内存的问题
我需要写一个查找文件key word的程序。
里面有一个函数是 返回在这个文件指定位置的一个char
用的是 fseek(fp,location,SEEK_SET);
然后read一个char。
因为这个函数经常会被调用,而且下一次调用时要查找的地址 很可能和上一次很相近
为了增加效率,我在考虑需不需要一次性把文件的 一个page 的东西读到一个buffer里,下次搜索如果位置相近
计算出char在buffer的位置。
还有,比较底层,如果调用fseek,内存会默认读硬盘的一个含有这个地址的page。如果下次我请求的和这个地址相近,会不会直接就map到相对应的内存里? 这样的话,那个buffer的想法就没有必要了。
求大神给解答一下, 谢谢