最近在写程式时遇到一个疑问,想提出来大家讨论看看,看怎样做比较好
我有一个文字档,里面大概有20几万行的资料
内容大概是这样,某一个item,后面有一组数值
a 5
b 6
c 79
...
那我今天要对这个文字档做搜寻的动作,而搜寻的关键字大概有7-8个
我以结构的方式储存这些关键字与其相关的值
这时候我考量到一个问题,因为文字档有20几万行,那要搜寻7-8次
1.会直接用while-loop方式,从头搜寻到尾,然后以fseek的方式,将档案指标指回
档案起始位置
2.会搜寻完一次先fclose,然后再fopen一次
3.将档案内容先全部读进来内存,并且以资料串结方式储存
我这人是用3,因为以我的认知,档案读写虽然有经过缓冲区,但是还是必须对硬盘存取
那搜寻7-8次,就得存取超多超多次
如果我只对档案存取一次,接着就是对内存做读写,是否会比较快一点呢??
这次叙述说真的,不是很清楚,我承认我不太会表达我想表达的
所以如果有需要补充的,请告诉我
感谢