you can not implement something like this, because you can seldom have chance now detail word, ppt, excel, pdf format. use index service is very good choice.
int findtext { open file; read buffer from file for (i=0;i<nread;i++) memcmp() close file }int findfile(char *path) done=findfirst() while (!done) { if (文件属性==目录) findfile(subpath) else findtex() done=findnext(); }
AND 是内定值,也就是说,当你搜寻dog and cat 将得到所有包含这两个字的文章。 用双引号 (") 搜寻片语,也就是说,当你搜寻 "dog cat" 将找到含有该片语的文章,包括空白。减号 (-) 消除字元。也就是说,当搜寻 dog and -cat 将会得到包含 dog 但不包含 cat的文章。 你可以用双引号方式消除片语,例如: dog -"siamese cat".这个搜寻引擎是不分大小写的,可以对主题,文章内容及作者做搜寻。
ms provide index service com interface for you to use(just like directX). see msdn -> platformsdk -> base services->index service -> index service ference.
{ open file;
read buffer from file
for (i=0;i<nread;i++) memcmp() close file
}int findfile(char *path)
done=findfirst()
while (!done)
{ if (文件属性==目录) findfile(subpath)
else findtex()
done=findnext();
}
用双引号 (") 搜寻片语,也就是说,当你搜寻 "dog cat" 将找到含有该片语的文章,包括空白。减号 (-) 消除字元。也就是说,当搜寻 dog and -cat 将会得到包含 dog 但不包含 cat的文章。 你可以用双引号方式消除片语,例如: dog -"siamese cat".这个搜寻引擎是不分大小写的,可以对主题,文章内容及作者做搜寻。
用CreateFileMapping将文件作内存映射,
这样,查找字符串,就变成完全的内存操作了。
如果结合多线程、虚拟内存可以是效率提高不少。
see msdn -> platformsdk -> base services->index service -> index service ference.